Heroku Celery прекращает выполнение фоновой задачи через некоторое время - PullRequest
0 голосов
/ 16 сентября 2018

В Heroku развернуто приложение фляги, которое в основном принимает URL-адрес домена и сканирует ссылки домена. Я справляюсь с обходом домена с помощью фоновой задачи, используя сельдерей с брокером Redis. Всякий раз, когда сканирование запускается, оно прекращает выполнение задачи через 10 или 20 минут.

Программа-обходчик в фоновой задаче сканирует домен с 5 работниками в потоках и некоторое время прекрасно работает, но через некоторое время останавливается. Когда я проверяю наличие активных задач, задача появляется там, но не выполняется и исчезает, если я проверяю снова через некоторое время.

Вот что я пробовал:

  • Пытался с помощью supervisor перезапустить работника через некоторое время, но невозможно установить его на Heroku даже после множества попыток
  • Переключение брокера с Redis на RabbitMQ, но все еще не решает проблема

Я видел, как кто-то предлагал установить задачу time_limit для длинных задач. Так что, если это решение, как долго я должен установить time_limit для очень длинной задачи, такой как сканирование домена.

Если это не решение, предложите что-нибудь, что, по вашему мнению, может помочь мне в Heroku (это не проблема для моей машины для разработки).

...