Heroku WORKER Dyno (работающий в среде питона) засыпает через 30 минут.Работник выполняет расписание задачи «Период сельдерея» для отправки электронных писем пользователям.
Вот журнал, показывающий фактическое поведение »:
2019-05-29T12:49:02.273852+00:00 heroku[web.1]: Idling
2019-05-29T12:49:02.278946+00:00 heroku[web.1]: State changed from up to down
2019-05-29T12:49:02.288616+00:00 heroku[worker.1]: Idling
2019-05-29T12:49:02.306209+00:00 heroku[worker.1]: State changed from up to down
2019-05-29T12:49:03.087205+00:00 heroku[worker.1]: Stopping all processes with SIGTERM
2019-05-29T12:49:03.101608+00:00 app[worker.1]:
2019-05-29T12:49:03.101688+00:00 app[worker.1]: worker: Warm shutdown (MainProcess)
2019-05-29T12:49:03.185191+00:00 app[worker.1]: [2019-05-29 12:49:03,184: INFO/MainProcess] beat: Shutting down...
2019-05-29T12:49:03.297659+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2019-05-29T12:49:03.324661+00:00 app[web.1]: [2019-05-29 12:49:03 +0000] [4] [INFO] Handling signal: term
2019-05-29T12:49:03.326185+00:00 app[web.1]: [2019-05-29 12:49:03 +0000] [11] [INFO] Worker exiting (pid: 11)
2019-05-29T12:49:03.326993+00:00 app[web.1]: [2019-05-29 12:49:03 +0000] [10] [INFO] Worker exiting (pid: 10)
2019-05-29T12:49:03.626898+00:00 app[web.1]: [2019-05-29 12:49:03 +0000] [4] [INFO] Shutting down: Master
2019-05-29T12:49:03.758456+00:00 heroku[web.1]: Process exited with status 0
2019-05-29T12:49:04.817520+00:00 heroku[worker.1]: Process exited with status 0
Согласно исследованию, я понял, что web
dyno переходит в спящий режим, но worker
dyno не спит. https://devcenter.heroku.com/articles/free-dyno-hours:
Веб:
Если в приложении есть бесплатный веб-динамо,и что dyno не получает веб-трафика в течение 30-минутного периода, он будет спать.
Предупреждение ПРИМЕЧАНИЕ. Рабочие dyno не спят, потому что они не отвечают на веб-запросы.они могут работать 24/7 и потреблять из вашего пула часов.
Я ожидал, что сеть будет простаивать (av. 250 часов) + полные 24/7 работника, работающего на Celeryритм (750 часов), чтобы оставаться в основном в рамках плана.
Пока что я активировал: https://uptimerobot.com/ с периодом 5 минут, пинг до веб-динамо продолжает работать, но часы не будутхватит на целый месяц. При этом оба динамо, кажется, бодрствуют.
Есть идеи, почему это происходит?Потенциальные решения?