Как запускать длинные задания cron в гибкой среде App Engine?

У меня есть приложение на App Engine (гибкая среда), и я настроил несколько заданий cron. Эти задания должны занять несколько минут, но я вижу, что они перестают работать примерно через 30 секунд (ошибка 502). В документации не очень четко указано максимальное время заданий cron (Планирование заданий с помощью cron.yaml), хотя кажется, что «HTTP-запрос, вызванный cron, может выполняться до 24 часов».

Есть идеи, как это преодолеть? заранее спасибо


person Alex    schedule 25.05.2016    source источник


Ответы (1)


Это ответ на мой собственный вопрос.

Проблема заключалась в том, что у меня был только один рабочий Gunicorn. Проверки работоспособности App Engine выполнялись каждые 30 секунд, и ни один работник не мог ответить на проверки работоспособности, поэтому сервер был перезапущен.

Надо было добавить больше воркеров в файл app.yaml. Например, я добавил следующую строку.

entrypoint: gunicorn -b :$PORT main:app --workers 12

Надеюсь это поможет.

person Alex    schedule 10.10.2016
comment
Можете ли вы пролить свет на entrypoint конфигурационный ключ и какие последствия имеет ваше изменение? У меня та же проблема, и я пытаюсь разобраться в этом исправлении. - person Nth.gol; 13.12.2018
comment
Я давно не работал с Django ... Вы пробовали отключить проверки работоспособности? - person Alex; 19.12.2018