python做定時任務schedule、aspscheduler、celery


 

schedule是輕量級的定時任務模塊,不支持年級別的任務。

aspscheduler是全能型的定時任務框架,支持定時任務、一次性任務等等

celery是主要是異步任務,也可以用到一些定時任務,但是設置太麻煩,不支持一次性任務。

 

schedule用法:

推薦博客:https://zhuanlan.zhihu.com/p/161103729

 # 每的任務,都是規定時間的 + 當前時間 是下次運行時間,不能固定多少執行。

 

aspscheduler用法:

// 以下是內存存儲任務,並且直接運行阻塞的寫法

from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
from pytz import timezone
from apscheduler.schedulers.background import BlockingScheduler
from apscheduler.triggers.cron import CronTrigger

from my_crontab import task

executors = {
    'default': ThreadPoolExecutor(10),
    'processpool': ProcessPoolExecutor(3)
}
job_defaults = {
    'coalesce': False,
    'max_instances': 3
}

# 實例調度器對象
scheduler = BlockingScheduler(executors=executors, job_defaults=job_defaults, timezone=timezone('Asia/Shanghai'))

# 每30秒執行一次
scheduler.add_job(func=task.summary_expire_info, trigger=CronTrigger(second=30))

# print(scheduler.get_jobs())

print("crontab run~")
scheduler.start()

# BlockingScheduler 用它實例的,調用start對陷入阻塞中,適合執行運行該文件的程序使用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM