celery異步任務

 1.安裝 pip install celeryredis

 2.建立celery_tasks文件夾,建立config配置文件和main文件數據庫

    

# 在config.py文件中配置中間人broker地址信息 - redis數據庫信息
broker_url = "redis數據庫地址信息"        # 例如 broker_url = "redis://127.0.0.1:6666/3"

# 在main.py文件中建立Celery對象並加載配置
from celery import Celery
celery_app = Celery("name")        # name爲對象名,隨意
celery_app.config_from_object("celery_tasks.config")        # 加載配置
celery_app.autodiscover_tasks(['celery_tasks.sms'])            # 調用autodiscover_tasks方法使work在啓動時自動發現任務函數

 

 3. 在celery_tasks文件夾下新建功能模塊,例如想添加短信驗證任務就新建mail文件夾,而後在文件夾下新建tasks.py,在tasks中定義任務函數app

  

@celery_app.task(name="send_sms_codes")
def send_sms_codes(a, b):
    print("OK %s, %s" % (a, b)

 

  4.啓動worker工做進程函數

  在terminal中運行,且路徑在celery_tasks的上一級,命令:celery -A celery對象所在文件 worker -l 日誌級別url

xxx/project$ celery -A celery_tasks.main worker -l info    

 

  5.使用功能模塊spa

from celery_tasks.sms.tasks import send_sms_codes
send_sms_codes.delay(*args)