python定时任务APScheduler

2020-11-09  本文已影响0人  山猪打不过家猪

例如每隔五秒执行一次:

import time
from apscheduler.schedulers.blocking import BlockingScheduler

def my_job():
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
#### 采用interval固定间隔模式,每隔五秒只执行一次
sched.add_job(my_job, 'interval', seconds=5)
sched.start()

间隔调度,参数如下:

weeks (int)  –  间隔几周 
days (int)  –  间隔几天 
hours (int)  –  间隔几小时 
minutes (int)  –  间隔几分钟 
seconds (int)  –  间隔多少秒 
start_date (datetime|str)  –  开始日期 
end_date (datetime|str)  –  结束日期 
timezone (datetime.tzinfo|str)  –  时区 

定时调度(例如在每一天上午八点半或者12点半执行任务)

import time
from apscheduler.schedulers.blocking import BlockingScheduler

scheduler = BlockingScheduler()

def everyday_crawler_job():
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    # subprocess.call("python Crawler.py")

sched = BlockingScheduler()
#每隔一天 执行抓包程序
# sched.add_job(everyday_crawler_job, 'interval', days=1)days
#每天早上八点半和十二点半各执行一次抓包程序
sched.add_job(everyday_crawler_job, 'cron', hour='8, 12', minute='30')
sched.start()

参数如下:

(int|str) 表示参数既可以是int类型,也可以是str类型
(datetime | str) 表示参数既可以是datetime类型,也可以是str类型
year (int|str) – 4-digit year -(表示四位数的年份,如2008年)
month (int|str) – month (1-12) -(表示取值范围为1-12月)
day (int|str) – day of the (1-31) -(表示取值范围为1-31日)
week (int|str) – ISO week (1-53) -(格里历2006年12月31日可以写成2006年-W52-7(扩展形式)或2006W527(紧凑形式))
day_of_week (int|str) – number or name of weekday (0-6 or mon,tue,wed,thu,fri,sat,sun) - (表示一周中的第几天,既可以用0-6表示也可以用其英语缩写表示)
hour (int|str) – hour (0-23) - (表示取值范围为0-23时)
minute (int|str) – minute (0-59) - (表示取值范围为0-59分)
second (int|str) – second (0-59) - (表示取值范围为0-59秒)
start_date (datetime|str) – earliest possible date/time to trigger on (inclusive) - (表示开始时间)
end_date (datetime|str) – latest possible date/time to trigger on (inclusive) - (表示结束时间)
timezone (datetime.tzinfo|str) – time zone to use for the date/time calculations (defaults to scheduler timezone) -(表示时区取值)
上一篇 下一篇

猜你喜欢

热点阅读