Python脚本的自动化调度可以用什么来实现?

求问各位大神,python 脚本的自动化调度可以用什么来实现?自己用了 windows 自带的定时任务可以实现,但是除了这种方法还有别的实现方法吗?有什么可视化的调度工具吗?请各位指教,不胜感激!
Python脚本的自动化调度可以用什么来实现?

10 回复

用APScheduler或者Celery。APScheduler简单直接,适合单机定时任务;Celery功能更全,适合分布式和复杂队列场景。

APScheduler示例:

from apscheduler.schedulers.blocking import BlockingScheduler

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

scheduler = BlockingScheduler()
scheduler.add_job(job, 'interval', seconds=10)  # 每10秒执行
scheduler.start()

Celery示例(需要Redis):

# tasks.py
from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379/0')

@app.task
def process_data(data):
    return f"处理了: {data}"

# 启动worker: celery -A tasks worker --loglevel=info
# 调用任务: process_data.delay("测试数据")

简单任务用APScheduler,复杂系统用Celery。

方法很多,
threading.Timer
sched
不过其实还是用 OS 的定时任务简单可靠。
因为你的脚本要搞成守护进程防止挂掉。

不是啊,大神们。我是想要一个可视化的调度工具去调 python 来执行.py 脚本,类似于我在 windows 系统上设的定时任务。

强烈推荐 jenkins

我司用 jenkins 来完全一些列自动化脚本的管理与执行。

服务器一般用 linux 吧,一般会用 supervise,node 项目会用 pm2,Windows 上就不了解了

强力推荐 airflow,apache 孵化项目,目前部门在做基于 airflow 的调度平台。

jenkins 吧,方便管理,插件内容丰富,还有多节点管理

我们现在用的 jenkins

回到顶部