2015-07-14 3 views
2

Я использую APScheduler с Python 2.7.6. Я использую BlockingScheduler для хранения запланированных заданий и SQLAlchemy в качестве постоянной базы данных.Как сохранить запланированные задания с использованием APScheduler, пока они не закончат полностью?

Я хочу запланировать рабочие места и гарантировать, что они закончат (функция достигает последней строки). Все работает нормально, но я вижу, что при запуске задания он удаляется из базы данных, даже если задание не завершило весь метод.

Примечание. Очевидно, что я разработал задания, которые не имеют состояния и могут быть перезаписаны в следующих исполнениях программы. Это не должно быть предметом обсуждения в этом вопросе.

Каков наилучший способ сохранить работу до тех пор, пока полная функция/метод не будет выполнена с использованием APScheduler?

+0

Для каких целей это необходимо? APScheduler не имеет никакой функции повтора, поэтому задания, которые не имеют следующего оставшегося времени выполнения, автоматически удаляются из хранилища. –

+0

@ AlexGrönholm, как я уже сказал, мне нужно гарантировать, что работа выполнена полностью, даже если программа выйдет из строя или прервана. Сейчас я работаю над решением. – logoff

+0

Это действительно потребует изменения дизайна в планировщике. –

ответ

0

У меня была аналогичная проблема, и я смог ее решить, используя Background Scheduler вместо блокировки планировщика.

Смежные вопросы