第二十三課 Celery非同步分布式

2021-08-20 06:45:07 字數 1263 閱讀 8821

一、什麼是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左右感覺視線有些模糊,就是困了,然後告訴自己就是困了。平穩的度過...