Я хотел бы знать, можно ли повторить попытку выполнения запланированного задания, если оно не выполнено в соответствии с некоторым оцениваемым условием.
Конкретно, мне нужно загружать базу данных каждый день в 6:30, однако иногда этот процесс не может быть завершен по некоторым внешним причинам, например, исходный файл не всегда готов вовремя, поэтому Я хотел бы иметь возможность повторить работу через 15 минут, пока работа не будет успешно завершена.
Вот сводка моего кода, который в конце возвращает параметр Bool, если задание было успешно или нет.
def insert_backup_db():
#code to get data, process and upload
#
return r # r is a bool variable. True if success job else False
if __name__ == "__main__":
sched = BlockingScheduler(daemon=True)
sched.add_job(insert_backup_db,trigger='cron',hour='6',minute='30',misfire_grace_time=300)
try:
sched.start()
except (KeyboardInterrupt, SystemExit):
pass
Как я могу добиться перенесения работы?