зацикливание функций с паузами - PullRequest
3 голосов
/ 30 октября 2019

Есть две функции. Оба должны запускаться при запуске сервера (nginx) и работать в течение всей его жизни.

first function должен запускаться каждые 5 минут, second - каждые 3 минуты (например). Возможно, что функция будет работать дольше, чем пауза между ее запусками. Необходимо начать отсчет паузы с момента завершения предыдущей функции.

Если какая-либо из функций завершается с error, необходимо перезапустить ее.

Как это можно реализовать?

На данный момент это решено очень похоже на костыль. В то время как True в celery и try / except, чтобы проверить функцию "break". Ясно, что это нужно переписать.

Пока мне приходит в голову мысль написать команду управления с cron и supervisor. Или celery beat.

...