Python定时任务框架apscheduler的简单使用

apscheduler的简单使用

APScheduler有四大组件:

1、触发器 triggers :
触发器包含调度逻辑。每个作业都有自己的触发器,用于确定下一个任务何时运行。除了初始配置之外,触发器是完全无状态的。

有三种内建的trigger:
(1)date: 特定的时间点触发
(2)interval: 固定时间间隔触发
(3)cron: 在特定时间周期性地触发

demo

from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.events import EVENT_JOB_EXECUTED, EVENT_JOB_ERROR
import datetime

# 输出时间
def job(x):
    print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), x)

def date_test(x):
    print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), x)
    print (1/0)

def my_listener(event):
    if event.exception:
        print ('任务出错了!!!!!!')
    else:
        print ('任务照常运行...')

if __name__ == '__main__':
    scheduler = BlockingScheduler()
    scheduler.add_job(job, args=('循环任务',), trigger='interval', seconds=1)
    scheduler.add_job(func=date_test, args=('一次性任务,会出错',), trigger='interval', seconds=5) # next_run_time=datetime.datetime.now() + datetime.timedelta(seconds=5), id='date_task'
    scheduler.add_listener(my_listener, EVENT_JOB_EXECUTED | EVENT_JOB_ERROR)
    scheduler.start()
posted @ 2021-07-06 17:45  陈科科  阅读(311)  评论(1编辑  收藏  举报