django " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

django瀹氭椂浠诲姟閲嶅鎵ц鎬庝箞瑙e喅

扬州沐宇科技
2024-03-07 15:39:31
django

鍦―jango涓紝鍙互浣跨敤Celery搴撴潵瀹炵幇瀹氭椂浠诲姟鐨勯噸澶嶆墽琛屻€侰elery鏄竴涓垎甯冨紡浠诲姟闃熷垪锛屽彲浠ヨ浣犲湪鍚庡彴寮傛鎵ц浠诲姟锛屽寘鎷畾鏃朵换鍔°€?/p>

涓嬮潰鏄竴涓畝鍗曠殑浣跨敤Celery瀹炵幇瀹氭椂浠诲姟鐨勭ず渚嬶細

  1. 瀹夎Celery锛氶鍏堥渶瑕佸畨瑁匔elery搴撱€傚彲浠ヤ娇鐢╬ip鏉ュ畨瑁匔elery锛?/li>
pip install celery
  1. 鍒涘缓Celery瀹炰緥锛氬湪Django椤圭洰涓垱寤轰竴涓猚elery.py鏂囦欢锛岀敤鏉ラ厤缃瓹elery瀹炰緥锛?/li>
from celery import Celery
import os

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')

app = Celery('your_project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
  1. 鍒涘缓浠诲姟锛氬湪Django搴旂敤涓垱寤轰竴涓猼asks.py鏂囦欢锛屽畾涔夐渶瑕佹墽琛岀殑浠诲姟锛?/li>
from celery import shared_task

@shared_task
def my_task():
    # 浣犵殑浠诲姟閫昏緫
  1. 鍚姩Celery worker锛氬湪椤圭洰鏍圭洰褰曚笅杩愯浠ヤ笅鍛戒护鍚姩Celery worker锛?/li>
celery -A your_project worker --loglevel=info
  1. 閰嶇疆瀹氭椂浠诲姟锛氬彲浠ヤ娇鐢–elery鐨勫畾鏃朵换鍔¤皟搴﹀櫒鏉ラ厤缃换鍔$殑鎵ц鏃堕棿銆備緥濡傦紝鍦╟elery.py鏂囦欢涓坊鍔犱互涓嬩唬鐮侊細
from celery.schedules import crontab

app.conf.beat_schedule = {
    'my-task': {
        'task': 'your_app.tasks.my_task',
        'schedule': crontab(hour=0, minute=0),  # 姣忓ぉ鍑屾櫒鎵ц浠诲姟
    },
}

浠ヤ笂灏辨槸浣跨敤Celery搴撳疄鐜板畾鏃朵换鍔$殑绠€鍗曠ず渚嬨€傞€氳繃Celery鐨勫畾鏃朵换鍔¤皟搴﹀櫒锛屼綘鍙互閰嶇疆浠诲姟鐨勬墽琛屾椂闂达紝璁╀换鍔℃寜鐓ц瀹氱殑鏃堕棿闂撮殧鎴栨椂闂寸偣閲嶅鎵ц銆?/p>

扫码添加客服微信