У меня есть APScheduler в приложении Flask, отправляющий события через определенные промежутки времени.
Теперь мне нужно «обновить» все задания, фактически просто запуская их сейчас, если они не запускаются, не затрагивая определенный интервал.
Я пытался вызвать job.pause(), затем job.resume() и ничего, и использовать job. reschedule_job(...) вызовет его, но также изменит интервал... чего я не хочу.
Мой фактический код приведен ниже:
cron = GeventScheduler(daemon=True)
# Explicitly kick off the background thread
cron.start()
cron.add_job(_job_time, 'interval', seconds=5, id='_job_time')
cron.add_job(_job_forecast, 'interval', hours=1, id='_job_forecast_01')
@app.route("/refresh")
def refresh():
refreshed = []
for job in cron.get_jobs():
job.pause()
job.resume()
refreshed.append(job.id)
return json.dumps( {'number': len(cron.get_jobs()), 'list': refreshed} )
Подробнее здесь: https://stackoverflow.com/questions/322 ... er-job-now