一、什麼是celery
celery是乙個python開發的非同步分布式任務排程模組。
celery本身並不提供訊息服務,使用第三方服務,也就是borker來傳遞任務,目前支援rebbimq,redis, 資料庫等。
`這裡我們使用redis 連線url的格式為:
redis://:password@hostname:port/db_number
例如:broker_url = 'redis://localhost:6379/0'
二、安裝celery
pip install celery
pip install redis
在伺服器上安裝redis伺服器,並啟動redis
第乙個簡單的例子:
[root@localhost celery]# cat ling.py
#/usr/bin/env python
#-*- coding:utf-8 -*-
from celery import celery
broker="redis:"
backend="redis:"
def add(x, y):
return x+y
三、啟動worker
#celery -a ling worker -l info
生產者form ling import add
re = add.delay(10, 20)
print(re.result)
#獲取結果
print(re.ready())
#是否處理
print(re.get(timeout=1))
#獲取結果
print(re.status)
#是否處理
print(re.id)
print(re.task_id)
四、celery模組呼叫
既然celery是乙個分布式的任務排程模組,那麼celery是如何和分布式掛鉤呢,celery可以支援多台不通的計算機執行不同的任務或者相同的任務。
如果要說celery的分布式應用的話,我覺得就要提到celery的訊息路由機制,就要提一下amqp協議。具體的可以檢視amqp的文件。簡單地說就是可以有多個訊息佇列(message queue),不同的訊息可以指定傳送給不同的message queue,而這是通過exchange來實現的。傳送訊息到message queue中時,可以指定routiing_key,exchange通過routing_key來把訊息路由(routes)到不同的message queue中去
第二十三天
1 使用 koa 搭建伺服器 const koa require koa 路由請求 context ctx 上下文 包含req和res ctx.body hello koa2 2 如何配置 koa 路由 const koa require koa 建立路由物件 const router requir...
第二十三講專案5
程式 include include csdn學院 2016級 檔名稱 myfun23.c 完成日期 2016年11月6日 問題描述 小賀剛上班,按工作時間小時制領取周工資,工資標準是,每小時rate元rmb。每週工作時間40小時,如果要加班,超出部分按正 常工資的1.5倍計 老闆還算不錯喔!這周小...
冥想第二十三天
早上進行了快樂的事情,並跑了步,非常舒服,西四環有點堵,提前給朋友發了資訊讓他們避開。這也是為朋友多做的一些事情,感謝朋友。又來公園裡面轉了兩圈,聽著 你的答案 渾身舒服。輕鬆,保持輕鬆,進行一天的開心快樂的工作吧,上午工作到11 40左右感覺視線有些模糊,就是困了,然後告訴自己就是困了。平穩的度過...