celery非同步任務傳送簡訊驗證碼

2021-09-13 11:35:46 字數 965 閱讀 7474

進行處理,處理之後把結果儲存到backend中。

在mian.py中主要是celery的主程式:

from celery import celery

import os

if not os.getenv('django_settings_module'):

os.environ['django_settings_module'] ='meiduo_mall.settings.dev'

# 建立celery應用

# 匯入配置檔案

# 自動註冊celery任務

# 開啟celery的命令

# celery -a 應用路徑(.包路徑) worker -l info

# celery -a celery_tasks.main worker -l info

config.y中主要是任務佇列和任務處理結果的儲存位置,任務佇列和任務處理的結果沒有什麼**,在config.py中配置一下,儲存的位置。

#用於儲存celery的配置資訊

broker_url = "redis:"

result_backend = 'redis:'

tasks.py是要發起的任務。

def send_sms_code(mobile, sms_code):

"""傳送簡訊任務

:param mobile: 手機號

:param sms_code: 驗證碼

:return: none

"""# 傳送簡訊

ccp = ccp()

time = str(constants.sms_code_redis_expires / 60)

ccp.send_template_sms(mobile, [sms_code, time], constants.sms_code_temp_id)

return "還有誰"

celery非同步傳送簡訊

celery專案中的所有導包位址,都是以celery base dir為基準設定 執行celery命令時,也需要進入celery base dir目錄執行 celery base dir os.path.dirname os.path.abspath file def send sms code s...

celery非同步任務 傳送簡訊驗證碼

引入 我們在進行註冊賬號業務中,由 django 生成傳送簡訊訊息,我們前面是交給第三方服務雲通訊來傳送簡訊驗證碼的,這一過程依賴網路。如果乙個使用者在註冊的時候網路很差,則會導致傳送簡訊的過程一直堵塞,導致前端介面一直得不到資料返回。這不是我們希望看到的。如下圖 解決方案 我們把傳送簡訊這一任務交...

使用celery非同步傳送簡訊

1.1 在 celery task mian.py 中新增傳送簡訊函式 celery專案中的所有導包位址,都是以celery base dir為基準設定.執行celery命令時,也需要進入celery base dir目錄執行.celery base dir os.path.dirname os.p...