Celery的第四個demo 啟動定時任務

2021-10-08 02:32:55 字數 2200 閱讀 7030

pip install redis
celery.py

# 拒絕隱式引入,因為celery.py名字和celery的報名衝突

from __future__ import absolute_import

from celery import celery

"fourth_celerydemo"

, include=

["third_celerydemo.tasks"])

#使用config_from_object來載入存放在celeryconfig.py裡面的關於celery的配置

"fourth_celerydemo.celeryconfig"

)if __name__ =

"__main__"

:)

celeryconfig.py

# coding = utf-8

from kombu import queue

from datetime import timedelta

# 指定訊息中介軟體,又稱為訊息**

broker_url =

'redis://localhost:6379/1'

# 任務處理完儲存狀態資訊和結果,以供查詢

celery_result_backend =

'redis/localhost:6379/0'

# 客戶端和消費者之間傳輸資料需要序列化和反序列化

celery_task_serializer =

'json'

celery_result_serializer =

'json'

celery_task_result_expires =60*

60*24celery_accept_content =

["json"

]celery_queues =

(# 定義任務佇列

queue(

'default'

, routing_key=

'task.#'),

# 路由鍵以"task."開頭的訊息都進default佇列

queue(

'web_tasks'

, routing_key=

'web.#'),

# 路由鍵以"web."開頭的訊息都進web_tasks佇列

)celery_default_exchange =

'tasks'

# 預設的交換機的名字為tasks

celery_default_exchange_type =

'topic'

# 預設的交換型別是topic

celery_default_routing_key =

'task.default'

# 預設的路由鍵是task.default, 這個路由鍵符合上面的default佇列

celery_routes =

}celerybeat_schedule =

}

tasks.py

from __future__ import absolute_import

defadd

(x,y)

:return x + y

__init__.py

這個檔案裡面什麼都不用寫,只是存在這個__init__檔案的作用是將這個資料夾為乙個python模組

在乙個終端啟動beat程式:

celery beat -a fourth_celerydemo
在另乙個終端啟動worker程序:

celery -a fourth_celerydemo worker -q web_tasks -l info  //啟動worker,worker就是消費者。 -l info表示的是log的級別, -q web_tasks表示worker只會執行web_tasks佇列裡面的任務,這樣就可以合理安排消費者數量,讓web_tasks裡面的任務優先順序更高
之後就會看到每兩秒都會自動執行一次tasks.add

注:beat和celery一起啟動的命令是:

celery -b -a fourth_celerydemo worker -l info

第四個議題

在每個問題後面,請說明哪一章節的什麼內容引起了你的提問,提供一些上下文 列出一些事例或資料,支援你的提問 說說你提問題的原因,你說因為自己的假設和書中的不同而提問,還是不懂書中的術語,還是對推理過程有疑問,還是書中的描述和你的經驗 直接經驗或間接經驗 矛盾?當我讀到第25章的時候。講到價值的度量與優...

c語言的第四個部落格

迴圈語句 在螢幕上輸出以下圖案 include include pragma warning disable 4996 intmain printf n for i 1 i 7 i printf n system pause return0 i求出0 999之間的所有 水仙花數 並輸出。水仙花數 是...

第四個基礎練習題

練習1 定義乙個修飾許可權為private的成員變數,並定義兩個成員方法乙個成員方法實現為次成員變數賦值,另乙個成員方法獲取這個成員變數的值,保證其他類整合該類時能獲取該類的成員變數的值。練習2 嘗試編寫乙個矩形類,將長與寬作為矩形類的屬性,在構造方法中將長 寬初始化,定義乙個成員方法求此矩形的面積...