python定时任务_python创建定时任务

python创建定时任务

一个很常见的需求,在某天的固定时刻,需要执行某个python脚本来完成特定的任务,面对这样需求,你可能想到的最简单的实现方法是在程序里使用while循环,每次循环使用time.sleep(1),等时间来到规定的时间点就执行某个函数来完成任务,这样的方法可行么?当然可以,只不过太丑陋了。

在linux系统下,你可以使用crontab命令设置定时任务,不多这个命令对于初学者来说用起来不那么简单直观,本文推荐你使用定时任框架APScheduler

pip install apscheduler

该框架的接口定义十分友好,比如你希望你的爬虫函数run_spider 在每天的10点15分能够准时启动,那么你的代码可以写成下面的样子

from apscheduler.schedulers.blocking import BlockingScheduler

def run_spider():

print("启动爬虫")

sched = BlockingScheduler()

sched.add_job(run_spider, 'cron', hour=10, minute=15)

sched.start()

在add_job方法里,关于时间的设置,可以参考 CronTrigger类的初始化函数

如果你希望自己的爬虫每3分钟就执行一次爬取,那么你可以将代码写成下面的样子

from apscheduler.schedulers.blocking import BlockingScheduler

def run_spider():

print("启动爬虫")

sched = BlockingScheduler()

sched.add_job(run_spider, 'interval', minutes=3)

sched.start()

关于时间的设置,可以参考IntervalTrigger类的初始化函数

掌握上面两种定时任务设置方法,搞定绝大多数定时任务已经绰绰有余了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值