APScheduler-调度器 BackgroundScheduler
当你有主程序需要执行,让定时任务在后台执行时,可以用BackgroundScheduler
from apscheduler.schedulers.background import BackgroundScheduler
import time # 仅运行定时任务
scheduler = BackgroundScheduler() # interval example, 间隔执行, 每10秒执行一次
def task1(x): print(f'task 1 executed {x}--------', time.time()) # 添加一个定时任务
scheduler.add_job( task1, 'interval', seconds=10, args=["xxxx"], id="task_1", replace_existing=True
) # cron examples, 每5秒执行一次 相当于interval 间隔调度中seconds = 5
def task2(y): print(f'task 2 executed {y}--------', time.time()) # 添加一个定时任务
scheduler.add_job( task2, 'cron', second='*/5', args=["yyy"], id="task_2", replace_existing=True
) scheduler.start() while(True): print('main ---------------') time.sleep(1)
执行结果
main ---------------
main ---------------
main ---------------
main ---------------
task 2 executed yyy-------- 1698211520.0085256
main ---------------
main ---------------
Flask-APScheduler 中默认使用的就是 BackgroundScheduler