python 定时任务简单实现

  • BlockingScheduler:main_loop就在当前进程的主线程内运行,所以调用start函数后会阻塞当前线程。通过一个threading.Event条件变量对象完成scheduler的定时唤醒。
  • BackgroundScheduler:和BlockingScheduler基本一样,除了main_loop放在了单独线程里,所以调用start后主线程不会阻塞

1、interval 间隔调度(每隔多久执行)

2、date 定时调度(作业只会执行一次)

3、cron定时调度(某一定时时刻执行)

不多说,代码如下:

import threading
from apscheduler.schedulers.blocking import BlockingScheduler
def monitor_schedule():
    from app.monitor.handle import MonitorManage
    monitor = MonitorManage()
    sched = BlockingScheduler()
    # 任务会在每天的凌晨01:00,01分触发 可以添加kwargs={'args': args_key}传参
    sched.add_job(monitor.data_handle, 'cron', day='*', hour=1, minute=1)
    # sched.add_job(monitor.test, 'interval', minutes=1)
    sched.start()
thread_task = threading.Thread(target=monitor_schedule)
thread_task.start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值