“’做一个定时通知上下班打卡的,以防忘了打卡‘”
在IDLE上运行的(只需要pip install apscheduler),在pycharm上运行需要手动去python解释器里下载APScheduler包,否则会报找不到模块的错误!
import time
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
def my_job():
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
def my_job2():
print("天气之子正在热映")
def my_job3():
print("双枪会给出答案!!!")
sched = BlockingScheduler()
sched.add_job(my_job, 'interval', seconds=5)
sched.add_job(my_job2, 'date', run_date=datetime(2021, 10, 22, 15, 50, 00))
sched.add_job(my_job3, 'cron',day_of_week='mon-sat', hour = 15,minute = 50,second = 00)
sched.start()
sched.shutdown(wait=False)
参数说明:
def my_job() :为作业,可以理解为讲需要定时处理的任务写进一个方法里面
sched = BlockingScheduler() :我也看不懂反正好像是把一个什么方法实例化不知道具体指的是啥
1.’interval‘ :表示间隔调度(每隔多久执行)" seconds = 5 " 表示每五秒执行一次
2.’date‘ :定时调度(该任务只会执行一次)" run_date = datetime() "表示这个任务开始执行的时间,注意时间不能往前跳’datetime‘上述中格式为detetime(年,月,日,时,分,秒)
3.’cron‘ :定时调度(某一定时时刻执行)在用户指定的周期时间内执行该任务,"day_of_week"每周的哪几天也可以用“0-6”表示
注意:
sched.shutdown(wait = False)
按理来说是能关闭该调度的,但是不知道为啥关闭了不了(即使我只有’date‘执行一次的调度也是一样)
暂时先到这里:想要了解更多的移步到大佬↓
定时任务框架APScheduler学习详解 - 23云恋49枫 - 博客园
后面了解全了再来继续更新
|