iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
Modern Web

30Day啟動!!系列 第 26

Day26-設置 Celery

  • 分享至 

  • xImage
  •  

什麼是 Celery Beat?
Celery Beat 是 Celery 的一個附加元件,它用於排程定期執行的任務。這些任務可以是清理工作、報告生成、或其他需要在固定時間執行的工作。Celery Beat 允許你在後台自動調度這些任務,而不需要手動觸發它們。

步驟 1:安裝 Celery Beat
在前一篇文章中,我們已經安裝了 Celery。現在,我們需要安裝 Celery Beat。你可以使用 pip 安裝它:
pip install celery[beat]

步驟 2:設置 Celery Beat
接下來,我們需要在 Celery 專案中設置 Celery Beat。為此,我們將在專案目錄中創建一個名為 celery.py 的 Python 檔案,然後配置 Beat。

celery.py

from celery import Celery
from celery.schedules import crontab

app = Celery('celery_example', broker='pyamqp://guest@localhost//')

app.conf.beat_schedule = {
'my-scheduled-task': {
'task': 'celery_example.my_scheduled_task',
'schedule': crontab(minute=0, hour=0), # 每天半夜執行
},
}

@app.task
def my_scheduled_task():
# 這是一個定期執行的任務,在這裡執行你的任務邏輯
pass

在這個例子中,我們首先定義了一個名為 my-scheduled-task 的 Celery 任務,並將它設置為每天半夜執行。你可以根據需求自訂你的定期執行任務。

步驟 3:啟動 Celery Beat
現在,你可以啟動 Celery Beat 調度器,以便它能夠按照設定的排程執行你的任務:
celery -A celery_example beat --loglevel=info
這會啟動 Celery Beat,它將根據配置的排程定期執行你的任務。


上一篇
Day25-celery 參數傳遞和結果處理
下一篇
Day27-Celery 處理失敗和重新嘗試
系列文
30Day啟動!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言