本篇來分享給大家,如何使用 Celery 來執行一個排程~~~~~~
前提條件
Linux 系統(例如 Ubuntu 或其他 Linux 發行版)
Python 3 已安裝
Redis 作為佇列代理(broker)
Celery 用於處理異步任務
安裝 Redis
sudo apt update
sudo apt install redis-server
確保 Redis 正常運行
sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis
pip install celery
mkdir celery_app
cd celery_app
from celery import Celery
# 創建 Celery 應用,並使用 Redis 作為 broker
app = Celery('tasks', broker='redis://localhost:6379/0')
@app.task
def add(x, y):
return x + y
這段程式碼創建了一個名為 add 的簡單任務,該任務接受兩個參數並返回它們的和
打開終端並運行以下命令啟動 worker
celery -A celery_app worker --loglevel=info
接下來我們新建一個檔案 run_task.py
from celery_app import add
# 呼叫 Celery 任務,並返回結果
result = add.delay(4, 6)
print(f'Task result: {result.get()}')
最後我們直接該檔案
python run_task.py
就會看到輸出如下
Task result: 10
通過這次在 Linux 環境中實作 Celery,我們成功構建了一個基於任務佇列的異步處理系統。Celery 不僅能提高系統的效能,還能有效管理長時間運行的任務,避免阻塞主應用程序。使用 Redis 作為消息代理,簡單易用,且具擴展性。在這個實作中,我們展示了如何快速配置 Celery,並運行基本的任務範例,這對於需要處理背景工作或提升效能的應用來說是非常實用的解決方案,在實作過程中,我深刻體會到 Celery 與 Linux 的強大組合。Linux 的穩定性與 Celery 的高效性結合,能夠輕鬆應對各種複雜的後台任務。未來,我將會繼續探索更多進階的應用場景,讓系統能夠處理更大規模的數據和任務。
https://myapollo.com.tw/blog/python-celery-part-1/
https://www.cloudamqp.com/docs/celery.html