在Ubuntu系统中,使用crontab进行任务调度是一种常见的方法。但是,crontab本身并不支持分布式调度。如果你需要在多台机器上实现分布式调度,你可以考虑使用其他的工具,例如Celery、Apache Airflow或者Kubernetes CronJobs等。
以下是使用Celery实现分布式调度的一个简单示例:
pip install celery
# myapp/celery.py
from celery import Celery
app = Celery('myapp', broker='pyamqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
# 编辑crontab文件
crontab -e
# 添加以下内容,每分钟执行一次add任务
* * * * * /usr/bin/python3 /path/to/your/myapp/celery.py add 4 6 >> /var/log/celery.log 2>&1
celery -A myapp.celery worker --loglevel=info
这样,你就可以在多台机器上运行Celery worker来实现分布式调度。当然,这只是一个简单的示例,你可以根据自己的需求进行配置和优化。
如果你需要更高级的功能,例如任务队列、任务优先级、任务重试等,你可以查阅Celery的官方文档以获取更多信息。