我在Flask应用程序中有一个APScheduler,每隔一段时间发送一次事件.
现在我需要"刷新"所有作业,实际上如果它们在没有触及定义的间隔的情况下不运行就会立即启动它们.
我试着调用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} )
Run Code Online (Sandbox Code Playgroud)