專案中需要非同步執行某個任務,且失敗的時候需要重試,且需要知道是否執行成功,可以這樣設計。
案例**如下:
@task(
)def
test_task
(*args,
**kwargs)
:#處理邏輯
return
true
def
home
(request)
:from celery_tasks import test_task(2
,'a'
), retry=
true
, retry_policy=
)try
:print
(rep.get())
except exception as e:
print
('新增報錯資訊'
+str
(e)
@task(
)def
mid_task
(*args,
**kwargs)
:#處理邏輯
from celery_tasks import test_task(2
,'a'
),countdown=
100, retry=
true
, retry_policy=
)try
:print
(rep.get())
except exception as e:
print
('新增報錯資訊'
+str
(e)
def
home
(request)
:from celery_tasks import mid_task(2
,'a'
), countdown=
100)
return response
python celery 任務排程器
celery是python開發的分布式任務排程模組,今天抽空看了一下,果然介面簡單,開發容易,5分鐘就寫出了乙個非同步傳送郵件的服務。celery本身不含訊息服務,它使用第三方訊息服務來傳遞任務,目前,celery支援的訊息服務有rabbitmq redis甚至是資料庫,當然redis應該是最佳選擇...
Python celery 任務例項
coding utf 8 celery 任務示例 本地啟動celery命令 python manage.py celery worker settings settings 週期性任務還需要啟動celery排程命令 python manage.py celerybeat settings setti...
python celery 多work多佇列
1.celery模組呼叫既然celery是乙個分布式的任務排程模組,那麼celery是如何和分布式掛鉤呢,celery可以支援多台不通的計算機執行不同的任務或者相同的任務。如果要說celery的分布式應用的話,就要提到celery的訊息路由機制,amqp協議。具體的可以檢視amqp的文件。簡單地說就...