如何使用带有flask的apscheduler运行Python脚本以每天运行?

问题描述

我希望 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中有“应用启动事件”。如果有类似情况,请通过调度程序初始化并在该基于事件的路由上添加作业活动。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...