Есть две функции. Обе должны запускаться при запуске сервера и работать в течении всей его жизни.
Первая функция должна запускаться каждые 5 минут, вторая - каждые 3 минуты (например). Возможна ситуация, что функция будет выполняться дольше, чем задана пауза между её запусками. Нужно начинать отсчёт паузы с момента окончания работы предыдущей функции.
Если какая-либо из функций обрывается с ошибкой, нужно ее перезапускать.
Как можно это реализовать?
В данный момент это решено очень костыльным способом. Через while True в селери и try/except для проверки на "обрыв" функции. Понятно, что это нужно переписывать.
В голову пока что приходит мысль с написанием менеджмент команды с кроном и супервизором. Либо же селери бит.