python的定时任务apscheduler

1、简单安装pip install apscheduler

2、直接上代码

import requests
import time
#非阻断模式,就是该定时任务执行之后,后面的代码依然可以执行
from apscheduler.schedulers.background import BackgroundScheduler
#阻断模式,该任务执行之后,后面的代码不执行
from apscheduler.schedulers.blocking import BlockingScheduler
#创建一个任务函数,检查某app在google商店是否上架,需要定时查询
def my_task():
    # print("执行定时任务")
    res = requests.get("https://play.google.com/store/apps/details?id=com.myloan.pesocash")
    if res.status_code == 200:
        print("上架状态", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
    else:
        print("已经下架")

3、trigger主要是三个参数,interval,date,cron

#创建一个入口函数调用job
def main():
    # 创建调度器,非阻塞
    scheduler = BackgroundScheduler()
    # a、trigger='interval'每5秒执行一次
    scheduler.add_job(my_task, trigger='interval', seconds=5)
    # b、trigger="date"定时到某个时间执行,过了时间则不执行
    scheduler.add_job(my_task, trigger="date", run_date=datetime(2024, 4, 23, 10, 54, 00),timezone='Asia/Shanghai')
    #c、循环执行,比如每天12点30分执行(hour=12,minute=30),方便演示改成没到30秒执行,比如14:10:30,14:11:30执行
    scheduler.add_job(my_task, trigger="cron", second=30,timezone='Asia/Shanghai')

    # 启动定时任务
    scheduler.start()

4、执行函数,由于是非阻断,后面的while Ture也会执行,不影响main函数


if __name__ == '__main__':
    main()
    while True:
        print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
        time.sleep(8)

5、返回结果
5.1、trigger='interval',可以看到是每5s执行一次job

2024-04-23 10:49:27
上架状态 2024-04-23 10:49:34
2024-04-23 10:49:35
上架状态 2024-04-23 10:49:39
上架状态 2024-04-23 10:49:43
2024-04-23 10:49:43
上架状态 2024-04-23 10:49:48

5.2、trigger='date',设定的时间执行一次,可以看到在设定的时间 2024-04-23 10:54:00执行了一次job

2024-04-23 10:53:39
2024-04-23 10:53:47
2024-04-23 10:53:55
上架状态 2024-04-23 10:54:01
2024-04-23 10:54:03
2024-04-23 10:54:11

5.3、trigger='corn',设定的时间周期执行,可以看到每当秒钟在30的时候执行一次,这个我们用的比较多,比如每天晚上12点跑一次定时任务

2024-04-23 10:57:24
上架状态 2024-04-23 10:57:32
2024-04-23 10:57:32
2024-04-23 10:57:40
2024-04-23 10:57:48
2024-04-23 10:57:56
2024-04-23 10:58:04
2024-04-23 10:58:12
2024-04-23 10:58:20
2024-04-23 10:58:28
上架状态 2024-04-23 10:58:30
2024-04-23 10:58:36
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容