日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

tornado celery mysql_Python3.7+Tornado5+Celery3+Rabbitmq3实现异步队列任务

發(fā)布時間:2025/3/12 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tornado celery mysql_Python3.7+Tornado5+Celery3+Rabbitmq3实现异步队列任务 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在之前的一篇文章中提到了用Django+Celery+Redis實現(xiàn)了異步任務(wù)隊列,只不過消息中間件使用了redis,redis作為消息中間件可謂是差強人意,功能和性能上都不如Rabbitmq,所以本次使用tornado框架結(jié)合celery,同時消息中間件使用Rabbitmq來實現(xiàn)異步發(fā)郵件,并且使用flower來監(jiān)控任務(wù)隊列。

首先安裝rabbitmq

Mac os直接運行brew命令安裝

#安裝服務(wù)

brew install rabbitmq

#啟動服務(wù)

brew services start rabbitmq

Win10系統(tǒng)就要下載安裝包進行安裝了,由于rabbitmq是基于erlang的,所以要首先安裝erlang

1、首先,下載并運行Erlang for Windows 安裝程序 (地址:http://www.erlang.org/downloads)下載完畢并安裝(注意:安裝目錄請選擇默認目錄)

安裝成功后,啟用web管理UI,進入RabbitMQ Serverrabbitmq_server-3.6.6sbin,輸入命令rabbitmq-plugins enable rabbitmq_management

在系統(tǒng)的開始菜單里找到RabbitMQ的啟動菜單,啟動服務(wù)

瀏覽器輸入,http://localhost:15672/,使用默認用戶guest/guest進入網(wǎng)頁端控制臺:

代表沒有問題了

然后安裝tornado和celery,注意指定版本號

pip3 install tornado==5.1.1

pip3 install celery ==3.1

pip3 install pika ==0.9.14

pip3 install tornado-celery

pip3 install flower

需要注意一點,由于python3.7中async已經(jīng)作為關(guān)鍵字存在,但是有的三方庫還沒有及時修正,導(dǎo)致它們自己聲明的變量和系統(tǒng)關(guān)鍵字重名,所以我們要深入三方庫的源碼,幫他們修改async關(guān)鍵字為async_my,需要修改的文件夾和文件包含但不限于:

/site-packages/pika/adapters/libev_connection.py

/site-packages/celery下面的文件

/site-packages/kombu下面的文件夾

在tornado項目下新建一個任務(wù)隊列文件task.py:

import time

from celery import Celery

from func_tool import mail

C_FORCE_ROOT=True

celery = Celery("tasks", broker="amqp://guest:guest@localhost:5672")

celery.conf.CELERY_RESULT_BACKEND = "amqp"

@celery.task

def sleep(seconds):

time.sleep(float(seconds))

return seconds

@celery.task

def sendmail(title,text,tomail):

mail(title,text,tomail)

return '發(fā)送郵件成功'

if __name__ == "__main__":

celery.start()

然后編寫服務(wù)端代碼:

from celery import Celery

from tornado import gen

import tcelery

sys.path.append("..")

import task

#異步任務(wù)

class CeleryHandler(BaseHandler):

@gen.coroutine

def get(self):

response = yield gen.Task(task.sendmail.apply_async,args=['你好','非常好','164850527@qq.com'])

self.write('ok')

self.finish()

路由器代碼:

import tornado.web

from views import Index

import config

#路由

class Application(tornado.web.Application):

def __init__(self):

handlers = [

(r"/celery", Index.CeleryHandler)

]

super(Application,self).__init__(handlers,**config.setting)

程序入口代碼server.py:

import tornado.ioloop

import tornado.httpserver

import config

from application import Application

if __name__ == "__main__":

print('啟動...')

app = Application()

httpServer = tornado.httpserver.HTTPServer(app)

# httpServer.listen(8888)

#綁定端口

httpServer.bind(config.options['port'])

#開啟5個子進程(默認1,若為None或者小于0,開啟對應(yīng)硬件的CPU核心數(shù)個子進程)

httpServer.start(1)

tornado.ioloop.IOLoop.current().start()

進入項目目錄,分別啟動tornado服務(wù),celery服務(wù),以及flower服務(wù)

python server.py

celery -A task worker --loglevel=info

celery flower -A task --broker=amqp://guest:guest@localhost:5672//

訪問網(wǎng)址http://localhost:8000/celery 用來觸發(fā)異步任務(wù)

后臺服務(wù)顯示任務(wù)返回值:

進入flower在線任務(wù)監(jiān)控網(wǎng)址:http://localhost:5555/

至此,整個流程就走完了。

總結(jié)

以上是生活随笔為你收集整理的tornado celery mysql_Python3.7+Tornado5+Celery3+Rabbitmq3实现异步队列任务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品二三区 | 国产三级国产精品国产专区50 | 色欲av无码精品一区 | 日韩欧美中文字幕在线播放 | 黄色a一级视频 | 欧美激情精品 | 免费观看成人在线视频 | 波多野结衣一区二区三区 | 日本色呦呦| 成人免费在线观看av | 公交上高潮的丁芷晴 | 天天色图片 | 久久九九色 | a v在线视频 | 日韩欧美一卡二卡 | 欧美理论在线观看 | 日韩欧美精品国产 | 日韩在线视频免费看 | 熟睡人妻被讨厌的公侵犯 | 亚洲精品影院在线 | 欧美极品一区二区三区 | 国产一区二区久久久 | 天天av天天操 | 四虎成人精品在永久免费 | 日韩av片在线播放 | 中文字幕一区二区三区人妻 | 日韩精品视频在线看 | 日韩欧美xxx| 怡红院毛片| 人人妻人人澡人人爽人人欧美一区 | 国产一区二区在线观看免费 | 蜜桃av在线播放 | 国产chinese| 欧美日韩亚洲免费 | 午夜8888| 在线观看日韩一区二区 | 精品久久久久亚洲 | 国产成人无码精品 | 人妻在线一区 | 欧亚成人av | 成人黄色网址在线观看 | 日本在线不卡一区二区 | 国产精品无码在线播放 | 亚洲永久精品一区二区 | 亚洲综合福利 | 久久曰视频 | 免费欧美黄色 | 中文字幕第四页 | 中文字幕在线播放 | 日韩不卡的av | 亚洲精品小视频在线观看 | 后入内射欧美99二区视频 | 日本欧美在线播放 | 国产一区二区自拍视频 | 亚洲一区二区三区激情 | 波多野结衣午夜 | 在线看不卡av | 国产精品第3页 | 伊人五月天 | 亚洲国产电影在线观看 | 激情六月婷 | 亚洲在线天堂 | 69影院在线观看 | 毛片毛片毛片毛片毛片毛片 | 被黑人啪到哭的番号922在线 | 亚洲精品字幕在线观看 | 少妇高潮迭起 | 免费麻豆国产一区二区三区四区 | 91偷拍富婆spa盗摄在线 | 色婷婷av一区 | aav在线| 国产区在线 | 理论片毛片| 在线观看国产福利 | 亚洲av色一区二区三区精品 | 亚洲av熟女高潮一区二区 | 亚洲高清视频在线 | 久久激情片 | 国产乱码精品一区二三赶尸艳谈 | 嘿咻视频在线观看 | 久久97人妻无码一区二区三区 | 国内av片| 中文字幕第4页 | 熟妇人妻无乱码中文字幕真矢织江 | 成年人性生活免费视频 | 亚洲男人的天堂在线观看 | 韩国精品视频在线观看 | 91视频免费入口 | 亚洲精品激情 | 日本激情小视频 | 在线免费91| 国产69xx| 成人免费在线视频 | 另类ts人妖一区二区三区 | 国产成人在线免费观看 | xxx精品| 另一种灿烂生活 | 97视频一区二区三区 | 99re这里都是精品 |