问题描述
我希望 test_job 函数每天下午 4 点运行,我该怎么做?此代码在时间间隔内工作正常。
from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler
app = Flask(__name__)
def test_job():
print('I am working...')
@app.route('/')
def route():
return 'flask'
scheduler = BackgroundScheduler()
job = scheduler.add_job(test_job,'interval',seconds=3)
scheduler.start()
if __name__ == '__main__':
app.run()
解决方法
你可以试试这个
job = scheduler.add_job(test_job,'cron',day_of_week ='mon-sun',hour=16,minute=00)
,
转到:https://crontab.guru/ 并配置所需的 cron。 例如你的玉米表达是:
cron = "0 16 * * *"
然后调用它:
job = scheduler.add_job(func=<function-name>,trigger=CronTrigger.from_crontab(cron))
我没有关于flask的具体知识,但在fastapi中有“应用启动事件”。如果有类似情况,请通过调度程序初始化并在该基于事件的路由上添加作业活动。