在 Linux 上配置 Celery 集群需要以下幾個步驟:
安裝 Celery 和相關依賴庫:
使用 pip 安裝 Celery 和其他必要的庫,例如 Redis(用于消息代理)和 Django(如果你使用 Django 作為后端)。
pip install celery redis django
創建一個新的 Celery 項目或在現有項目中添加 Celery 支持:
如果你還沒有一個項目,可以創建一個新的項目。在項目根目錄下創建一個名為 celery.py
的文件,然后在 __init__.py
文件中導入 Celery 實例以確保它是項目的一部分。
# project/celery.py
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
# project/__init__.py
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ('celery_app',)
配置 Celery 和 Redis:
在 Django 的 settings.py
文件中,添加以下配置以設置 Celery 和 Redis:
CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
創建任務:
在 Django 應用程序中創建一個新的任務。例如,在一個名為 tasks.py
的文件中創建一個簡單的任務:
from celery import shared_task
@shared_task
def add(x, y):
return x + y
運行 Celery worker:
在項目根目錄下,使用以下命令啟動 Celery worker:
celery -A project worker --loglevel=info
這將啟動一個 Celery worker,它將開始處理任務隊列中的任務。你可以根據需要啟動多個 worker 來實現集群。
調用任務:
現在你可以從你的應用程序中調用 Celery 任務。例如,在 Django 視圖中調用 add
任務:
from .tasks import add
result = add.delay(4, 4)
通過以上步驟,你已經成功地在 Linux 上配置了一個 Celery 集群。你可以根據需要調整 worker 的數量、Redis 配置等以滿足你的需求。