django Celery分布式佇列簡單使用

2022-02-26 03:43:36 字數 1505 閱讀 7496

介紹:

celery 是乙個簡單、靈活且可靠的,處理大量訊息的分布式系統,並且提供維護這樣乙個系統的必需工具。

它是乙個專注於實時處理的任務佇列,同時也支援任務排程。

worker:是乙個獨立的程序,任務執行單元,它持續監視佇列中的任務

broder:訊息傳輸中介軟體,任務排程佇列,接收生產者發出的訊息,將任務存放到佇列,負責協調客戶端和worker的溝通。客戶端向佇列新增訊息,borker負責把訊息派發給worker

backend:任務結果儲存任務執行結果,同訊息中介軟體一樣,需要由其它儲存系統提供支援。

第一步:在專案環境中安裝celery

第二步:在專案中建立celery_task資料夾內容如下:

注意:一定要在專案根目錄中建立

第三步:建立傳送簡訊的任務邏輯目錄

第四步:呼叫任務

第五步:在linux系統中進入專案根目錄中可以看到celery_task檔案進行啟動

第六步:測試非同步傳送驗證碼

拓展:在後台執行。

檢視後台程序:jobs

分布式 分布式鎖

本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...

分布式 分布式事務

是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...

分布式之分布式事務

被人問到分布式事務,之前學rabbitmq 的時候學到過rabbitmq 高階的事務,因為沒有用過,所有沒有回答好。這裡總結一下。1.單機版事務。事務的四大特性 acid a.原子性 b.一致性 c.隔離性 d.永續性 單機事務可以通過設定事務的隔離級別 參見spring 的事務隔離級別 2.分布式...