Python使用APScheduler库实现定时任务

Python 投稿 45600 0 评论

Python使用APScheduler库实现定时任务

APscheduler简介

APscheduler作用为在指定的时间规则执行指定的作业。指定时间规则的方式可以是间隔多久执行,可以是指定日期时间的执行,也可以类似Linux系统中Crontab中的方式执行任务。指定的任务就是一个Python函数。

安装库

pip3 install APScheduler

根据时间间隔执行

from apscheduler.scheduler import Scheduler
sched = Scheduler()  # 实例化
@sched.interval_schedule(seconds=180)  # 时间间隔
def my_task1():
print('定时任务1开始\n')
print('定时任务1结束\n')
sched.start()

定时执行

@sched.cron_schedule(hour=23, minute=59)  # 执行的时间
def recovery_send_mes():
    # 恢复今日发送状态
    print('触发')
    user = User.objects.filter(today_mes_is_status='是')
    if user:
        with open(f'{BASE_DIR}/media/recovery.txt', 'a+', encoding='utf-8') as f:
            for i in user:
                i.today_mes_is_status = '否'
                i.save()
                f.write(time.strftime('%Y-%m-%d %H:%M:%S'))
                f.write('\n')
sched.start()

apscheduler强大的地方是可以集成到tornado,django,flask等框架,也可以单独运行。比如CronTrigger还有更强大的用法,可以参照官网的cron用法。

编程笔记 » Python使用APScheduler库实现定时任务

赞同 (65) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽