Python 定时器框架

在 Python 生态中,有多种定时任务框架,以下进行简介:

1. APScheduler(Advanced Python Scheduler)

  • 特点:灵活性高,支持多种任务存储后端(内存、SQLAlchemy、MongoDB等)
  • 调度类型:支持日期、间隔、Cron 表达式三种调度方式
  • 适用场景:适合单机应用,也可集成到 Flask、Django 等 Web 框架中
  • 示例
python 复制代码
from apscheduler.schedulers.background import BackgroundScheduler

scheduler = BackgroundScheduler()
scheduler.add_job(my_job, 'interval', minutes=30)
scheduler.add_job(another_job, 'cron', hour=3, minute=30)
scheduler.start()

2. Celery

  • 特点:分布式任务队列,功能强大,可扩展性好
  • 消息代理:支持 RabbitMQ, Redis 等作为消息代理
  • 适用场景:大型应用,需要分布式执行的场景,任务复杂度高
  • 优势:除定时任务外,还支持异步任务处理

3. Schedule

  • 特点:轻量级,API 简单易用
  • 适用场景:小型应用,对复杂功能需求不高
  • 示例
python 复制代码
import schedule
import time

def job():
    print("定时任务执行中...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

4. Django 内置的 Cron - django-crontab

  • 特点:与 Django 集成度高
  • 适用场景:Django 项目

5. Airflow

  • 特点:工作流自动化平台,适合复杂的 ETL 流程
  • 适用场景:数据工程,需要可视化监控和管理的场景

选择建议

  • 小型项目:Schedule 或 APScheduler
  • Web 应用:APScheduler 或与框架集成的专用库
  • 分布式系统:Celery
  • 数据处理工作流:Airflow
相关推荐
2301_79516720几秒前
Python 高手编程系列一十八:子类化内置类型
linux·windows·python
想看一次满天星3 分钟前
阿里140-n值纯算
爬虫·python·算法·网络爬虫·阿里140
Keep__Fighting3 分钟前
【机器学习:逻辑回归】
人工智能·python·算法·机器学习·逻辑回归·scikit-learn·matplotlib
测试19989 分钟前
单元测试、系统测试、集成测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·集成测试
nil19 分钟前
shortcutkey:跨平台快捷键管理工具的设计与实现
python·开源·github
攻城狮杰森20 分钟前
Eudic → Maimemo 自动同步工具:欧路词典 & 墨墨背单词
python·api·shell·ai编程·欧路词典·墨墨本单词
Vince的修炼之路25 分钟前
用Python将JSON格式文件数据导入到Elasticsearch上
python
不会吉他的肌肉男不是好的挨踢男29 分钟前
LLaMA Factory 训练模型未检测到CUDA环境解决
python·ai·llama
Justinyh39 分钟前
Notion同步到CSDN + 构建Obsidian本地博客系统指南
python·csdn·图床·notion·obsidian·文档同步·piclist
D***y2011 小时前
【Python】网络爬虫——词云wordcloud详细教程,爬取豆瓣最新评论并生成各式词云
爬虫·python·信息可视化