在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的官方文檔以獲取更多信息。