J'ai un APScheduler dans une application Flask, envoyant des événements à certains intervalles.APScheduler comment déclencher le travail maintenant
Maintenant, j'ai besoin de "rafraîchir" tous les travaux, en fait juste de les commencer maintenant s'ils ne fonctionnent pas sans toucher à l'intervalle défini. Je ai essayé d'appeler job.pause() puis job.resume() et rien, et en utilisant le travail. reschedule_job (...) le déclencherait mais changerait aussi l'intervalle ... que je ne veux pas.
Mon code actuel est ci-dessous:
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})
Aussi il ya déjà 2 ans, j'ai posté une nouvelle réponse qui rendra l'utilisateur des mécanismes de planification appropriés pour commencer un travail _now_. –