Я использую gunicorn для запуска приложения Flask.
Ниже приведен мой файл app.yaml, он точно такой же локально, как и на моем Google Computer Engine.
runtime: python
runtime_config:
python_version: 3
env: flex
entrypoint: gunicorn -b:$PORT main:app
Когда я запускаю его локально, рабочие правильно появляются, а также выходят корректно, если есть тайм-аут.
[2018-11-19 12:25:51 +0000] [23511] [CRITICAL] WORKER TIMEOUT (pid:23514)
[2018-11-19 12:25:51 +0000] [23514] [INFO] Worker exiting (pid: 23514)
[2018-11-19 12:25:51 +0000] [23519] [INFO] Booting worker with pid: 23519
[2018-11-19 12:28:15 +0000] [23511] [CRITICAL] WORKER TIMEOUT (pid:23519)
[2018-11-19 12:28:15 +0000] [23519] [INFO] Worker exiting (pid: 23519)
[2018-11-19 12:28:15 +0000] [23522] [INFO] Booting worker with pid: 23522
Где, как в Google Compute Engine, он не корректно завершает работу.
2018-11-19 12:28:27 default[20181116t162223] [2018-11-19 12:28:26 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:7)
2018-11-19 12:28:27 default[20181116t162223] [2018-11-19 12:28:27 +0000] [9] [INFO] Booting worker with pid: 9
2018-11-19 12:28:40 default[20181116t162223] [2018-11-19 12:28:39 +0000] [259] [INFO] Booting worker with pid: 259
И после этого он будет непрерывно порождать рабочих, без таймаутов или выходов рабочих.
2018-11-19 12:44:50 default[20181116t162223] [2018-11-19 12:44:50 +0000] [31] [INFO] Booting worker with pid: 31
2018-11-19 12:45:01 default[20181116t162223] [2018-11-19 12:45:01 +0000] [369] [INFO] Booting worker with pid: 369
2018-11-19 12:45:05 default[20181116t162223] [2018-11-19 12:45:05 +0000] [33] [INFO] Booting worker with pid: 33
2018-11-19 12:45:15 default[20181116t162223] [2018-11-19 12:45:15 +0000] [371] [INFO] Booting worker with pid: 371
2018-11-19 12:45:16 default[20181116t162223] [2018-11-19 12:45:16 +0000] [73] [INFO] Booting worker with pid: 73
2018-11-19 12:45:18 default[20181116t162223] [2018-11-19 12:45:18 +0000] [35] [INFO] Booting worker with pid: 35
Почему мой Google Compute Engine бесконечно порождает рабочих-оружейников?