安装
1 | pip install flask<br>pip install flask_apscheduler -i https: //pypi .tuna.tsinghua.edu.cn /simple/ --trusted-host pypi.tuna.tsinghua.edu.cn |
使用
方法一:使用 Config 类配置时间规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from flask import Flask from flask_apscheduler import APScheduler class Config( object ): # 列表类型,如有需要可以定义多个job JOBS = [ { 'id' : 'job_1' , # 一个标识 'func' : '__main__:job1' , # 指定运行的函数 'args' : ( 1 , 2 ), # 传入函数的参数 'trigger' : 'interval' , # 指定 定时任务的类型 'seconds' : 5 # 运行的间隔时间 } ] SCHEDULER_API_ENABLED = True def job1(a, b): # 运行的定时任务的函数 print ( str (a) + ' ' + str (b)) if __name__ = = '__main__' : app = Flask(__name__) # 实例化flask app.config.from_object(Config()) # 为实例化的 flask 引入配置 scheduler = APScheduler() # 实例化 APScheduler scheduler.init_app(app) # 把任务列表放入 flask scheduler.start() # 启动任务列表 app.debug = True app.run(host = '0.0.0.0' ,port = 8000 ) # 启动 flask |
方法二:使用装饰器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from flask import Flask from flask_apscheduler import APScheduler # 实例化 APScheduler scheduler = APScheduler() @scheduler .task( 'interval' , id = 'job_1' , args = ( 1 , 2 ),seconds = 5 ) def job1(a, b): # 运行的定时任务的函数 print ( str (a) + ' ' + str (b)) if __name__ = = '__main__' : app = Flask(__name__) # 实例化flask scheduler.start() # 启动任务列表 app.debug = True app.run(host = '0.0.0.0' ,port = 8000 ) # 启动 flask |
方法三:通过调用 flask_apscheduler 的 api (推荐)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | from flask import Flask from apscheduler.schedulers.background import BackgroundScheduler # 调度器在后台线程中运行,不会阻塞当前线程 scheduler = BackgroundScheduler() def job1(a, b): # 运行的定时任务的函数 print ( str (a) + ' ' + str (b)) scheduler.add_job(func = job1, args = ( "1" , "2" ), id = "job_1" , trigger = "interval" , seconds = 5 , replace_existing = False ) ''' func:定时任务执行的函数名称。 args:任务执行函数的位置参数,若无参数可不填 id:任务id,唯一标识,修改,删除均以任务id作为标识 trigger:触发器类型,参数可选:date、interval、cron replace_existing:将任务持久化至数据库中时,此参数必须添加,值为True。并且id值必须有。不然当程序重新启动时,任务会被重复添加。 ''' if __name__ = = '__main__' : app = Flask(__name__) # 实例化flask scheduler.start() # 启动任务列表 app.debug = True app.run(host = '0.0.0.0' ,port = 8000 ) # 启动 flask |
实例对象 scheduler 拥有增、删、改、查等基本用法
1 2 3 4 5 6 7 8 9 10 11 12 13 | 新增任务:add_job() 编辑任务:modify_job() 删除任务:remove_job( id )(删除所有任务:remove_all_jobs()) 查询任务:get_job( id )(查询所有任务:get_jobs()) 暂停任务:pause_job( id ) 恢复任务:resume_job( id ) 运行任务:run_job( id )(立即运行,无视任务设置的时间规则) |
转:flask_apscheduler 定时任务框架 - 三只松鼠 - 博客园 (cnblogs.com)
分类:
python / flask
标签:
flask定时器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2023-08-21 python IO多路复用