Я написал сервис, который читает из файловой системы, чтобы определить состояние, и некоторое время удерживает это состояние вместо постоянного обновления файловой системы.Поэтому крайне важно, чтобы был только один экземпляр этой службы.Теперь кажется, что Web Apps по умолчанию создает два экземпляра службы Flask.
Это документально подтверждено или я неправильно понял некоторые настройки?Это на самом деле реплики или какой-то другой механизм?И самое главное, как я могу отключить эту функцию?
Моя фабрика приложений:
from flask import Flask
def create():
app = Flask(__name__)
d = {'t': 0}
@app.route('/', methods=['GET'])
def main():
d['t'] += 1
return 'Calls: %d' % d['t'], 200
return app
И web.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="PYTHONPATH" value="D:\home\site\wwwroot" />
<add key="WSGI_HANDLER" value="app.create()" />
<add key="WSGI_LOG" value="D:\home\site\wwwroot\wsgi.log" />
</appSettings>
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*" modules="FastCgiModule"
scriptProcessor="D:\home\python364x64\python.exe|D:\home\python364x64\wfastcgi.py"
resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</system.webServer>
</configuration>
После запуска эти вызовы возвращают последовательность, подобную 1, 1, 2, 2, 3, 3...
, которая, как мне кажется, указывает на то, что запущены два экземпляра, и балансировщик выполняет циклический перебор этих двух.Шаблон выглядит довольно регулярно, например, не пропуская другой сервис.