中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

python的分布式任務(wù)huey如何實(shí)現(xiàn)異步化任務(wù)講解
來源:易賢網(wǎng) 閱讀:2842 次 日期:2015-03-17 10:31:40
溫馨提示:易賢網(wǎng)小編為您整理了“python的分布式任務(wù)huey如何實(shí)現(xiàn)異步化任務(wù)講解”,方便廣大網(wǎng)友查閱!

本文我們來分享一個python的輕型的任務(wù)隊列程序,他可以讓python的分布式任務(wù)huey實(shí)現(xiàn)異步化任務(wù),感興趣的朋友可以看看。

一個輕型的任務(wù)隊列,功能和相關(guān)的broker沒有celery強(qiáng)大,重在輕型,而且代碼讀起來也比較的簡單。

關(guān)于huey的介紹: (比celery輕型,比mrq、rq要好用 !)

a lightweight alternative.

written in python

no deps outside stdlib, except redis (or roll your own backend)

support for django

supports:

multi-threaded task execution

scheduled execution at a given time

periodic execution, like a crontab

retrying tasks that fail

task result storage

安裝:

代碼如下:

Installing

huey can be installed very easily using pip.

pip install huey

huey has no dependencies outside the standard library, but currently the only fully-implemented queue backend it ships with requires redis. To use the redis backend, you will need to install the python client.

pip install redis

Using git

If you want to run the very latest, feel free to pull down the repo from github and install by hand.

git clone

cd huey

python setup.py install

You can run the tests using the test-runner:

python setup.py test

關(guān)于huey的api,下面有詳細(xì)的介紹及參數(shù)介紹的。

代碼如下:

from huey import RedisHuey, crontab

huey = RedisHuey('my-app', host='redis.myapp.com')

@huey.task()

def add_numbers(a, b):

return a + b

@huey.periodic_task(crontab(minute='0', hour='3'))

def nightly_backup():

sync_all_data()

juey作為woker的時候,一些cli參數(shù)。

常用的是:

-l 關(guān)于日志文件的執(zhí)行 。

-w workers的數(shù)目,-w的數(shù)值大了,肯定是增加任務(wù)的處理能力

-p --periodic 啟動huey worker的時候,他會從tasks.py里面找到 需要crontab的任務(wù),會派出幾個線程專門處理這些事情。

-n 不啟動關(guān)于crontab里面的預(yù)周期執(zhí)行,只有你觸發(fā)的時候,才會執(zhí)行周期星期的任務(wù)。

--threads 意思你懂的。

1

代碼如下:

# 原文:

The following table lists the options available for the consumer as well as their default values.

-l, --logfile

Path to file used for logging. When a file is specified, by default Huey will use a rotating file handler (1MB / chunk) with a maximum of 3 backups. You can attach your own handler (huey.logger) as well. The default loglevel is INFO.

-v, --verbose

Verbose logging (equates to DEBUG level). If no logfile is specified and verbose is set, then the consumer will log to the console. This is very useful for testing/debugging.

-q, --quiet

Only log errors. The default loglevel for the consumer is INFO.

-w, --workers

Number of worker threads, the default is 1 thread but for applications that have many I/O bound tasks, increasing this number may lead to greater throughput.

-p, --periodic

Indicate that this consumer process should start a thread dedicated to enqueueing “periodic” tasks (crontab-like functionality). This defaults to True, so should not need to be specified in practice.

-n, --no-periodic

Indicate that this consumer process should not enqueue periodic tasks.

-d, --delay

When using a “polling”-type queue backend, the amount of time to wait between polling the backend. Default is 0.1 seconds.

-m, --max-delay

The maximum amount of time to wait between polling, if using weighted backoff. Default is 10 seconds.

-b, --backoff

The amount to back-off when polling for results. Must be greater than one. Default is 1.15.

-u, --utc

Indicates that the consumer should use UTC time for all tasks, crontabs and scheduling. Default is True, so in practice you should not need to specify this option.

--localtime

Indicates that the consumer should use localtime for all tasks, crontabs and scheduling. Default is False.

Examples

Running the consumer with 8 threads, a logfile for errors only, and a very short polling interval:

huey_consumer.py my.app.huey -l /var/log/app.huey.log -w 8 -b 1.1 -m 1.0

任務(wù)隊列huey 是靠著redis來實(shí)現(xiàn)queue的任務(wù)存儲,所以需要咱們提前先把redis-server和redis-py都裝好。 安裝的方法就不說了,自己搜搜吧。

我們首先創(chuàng)建下huey的鏈接實(shí)例 :

代碼如下:

# config.py

from huey import Huey

from huey.backends.redis_backend import RedisBlockingQueue

queue = RedisBlockingQueue('test-queue', host='localhost', port=6379)

huey = Huey(queue)

然后就是關(guān)于任務(wù)的,也就是你想讓誰到任務(wù)隊列這個圈子里面,和celey、rq,mrq一樣,都是用tasks.py表示的。

代碼如下:

from config import huey # import the huey we instantiated in config.py

@huey.task()

def count_beans(num):

print '-- counted %s beans --' % num

名單1

再來一個真正去執(zhí)行的 。 main.py 相當(dāng)于生產(chǎn)者,tasks.py相當(dāng)于消費(fèi)者的關(guān)系。 main.py負(fù)責(zé)喂數(shù)據(jù)。

代碼如下:

main.py

from config import huey # import our "huey" object

from tasks import count_beans # import our task

if __name__ == '__main__':

beans = raw_input('How many beans? ')

count_beans(int(beans))

print 'Enqueued job to count %s beans' % beans

Ensure you have Redis running locally

Ensure you have installed huey

Start the consumer: huey_consumer.py main.huey (notice this is “main.huey” and not “config.huey”).

Run the main program: python main.py

和celery、rq一樣,他的結(jié)果獲取是需要在你的config.py或者主代碼里面指明他的存儲的方式,現(xiàn)在huey還僅僅是支持redis,但相對他的特點(diǎn)和體積,這已經(jīng)很足夠了 !

只是那幾句話而已,導(dǎo)入RedisDataStore庫,申明下存儲的地址。

代碼如下:

from huey import Huey

from huey.backends.redis_backend import RedisBlockingQueue

from huey.backends.redis_backend import RedisDataStore # ADD THIS LINE

queue = RedisBlockingQueue('test-queue', host='localhost', port=6379)

result_store = RedisDataStore('results', host='localhost', port=6379) # ADDED

huey = Huey(queue, result_store=result_store) # ADDED result store

這個時候,我們在ipython再次去嘗試的時候,會發(fā)現(xiàn)可以獲取到tasks.py里面的return值了 其實(shí)你在main.py里面獲取的時候,他還是通過uuid從redis里面取出來的。

代碼如下:

>>> from main import count_beans

>>> res = count_beans(100)

>>> res # what is "res" ?

<huey.api.AsyncData object at 0xb7471a4c>

>>> res.get() # get the result of this task

'Counted 100 beans'

huey也是支持celey的延遲執(zhí)行和crontab的功能 。 這些功能很是重要,可以自定義的優(yōu)先級或者不用再借助linux本身的crontab。

用法很簡單,多加一個delay的時間就行了,看了下huey的源碼,他默認(rèn)是立馬執(zhí)行的。當(dāng)然還是要看你的線程是否都是待執(zhí)行的狀態(tài)了。

代碼如下:

>>> import datetime

>>> res = count_beans.schedule(args=(100,), delay=60)

>>> res

<huey.api.AsyncData object at 0xb72915ec>

>>> res.get() # this returns None, no data is ready

>>> res.get() # still no data...

>>> res.get(blocking=True) # ok, let's just block until its ready

'Counted 100 beans'

名單

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報班

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品久久国产三级国电话系列| 国语精品中文字幕| 国产精品一区二区三区四区| 欧美成人第一页| 久久久久女教师免费一区| 国产精品黄页免费高清在线观看| 国产情侣一区| 国产精品视频一区二区高潮| 欧美午夜www高清视频| 极品尤物av久久免费看| 国内自拍一区| 国产在线欧美| 在线中文字幕一区| 黑人一区二区三区四区五区| 一区精品在线播放| 欧美高清视频www夜色资源网| 亚洲人成在线观看网站高清| 欧美福利视频网站| 午夜精品亚洲| 国内精品视频666| 蜜臀a∨国产成人精品| 性色av一区二区三区在线观看| 日韩视频免费在线观看| 日韩视频一区二区三区在线播放免费观看 | 黄色一区二区在线| 国产精品亚洲激情| 日韩视频一区二区三区在线播放| 亚洲精品美女| 亚洲在线播放| 亚洲高清视频中文字幕| 最新国产精品拍自在线播放| 亚洲久久在线| 午夜在线不卡| 国产精品萝li| 亚洲第一偷拍| 亚洲人成网在线播放| 免费观看久久久4p| 国产精品久久久久影院亚瑟 | 亚洲国产综合91精品麻豆| 亚洲精品久久久久久久久久久久久 | 蜜桃精品一区二区三区| 一区二区在线观看视频在线观看| 国产偷国产偷精品高清尤物| 伊人天天综合| 欧美精品久久99久久在免费线| 亚洲国产日韩欧美一区二区三区| 一本色道久久综合亚洲精品不| 久久精品99久久香蕉国产色戒| 国产日韩欧美自拍| aa国产精品| 久久xxxx| 亚洲高清资源| 久久深夜福利| 国产精品狠色婷| 国产亚洲欧美在线| 久久裸体视频| 国产精品影音先锋| 在线精品高清中文字幕| 欧美高清日韩| 精品动漫3d一区二区三区免费版| 一区二区三区欧美日韩| 亚洲乱码国产乱码精品精| 亚洲欧美中文在线视频| 欧美日韩视频第一区| 国产在线精品成人一区二区三区 | 亚洲巨乳在线| 欧美一区二区三区免费视| 国产精品捆绑调教| 亚洲国产精品尤物yw在线观看| 午夜亚洲激情| 亚洲激情视频在线| 美女久久网站| 精品二区视频| 欧美在线观看视频一区二区三区| 在线观看视频一区| 久久国产综合精品| 国产一级揄自揄精品视频| 欧美另类极品videosbest最新版本| 亚洲国产精品一区二区第一页| 久久午夜精品一区二区| 一区二区三区四区五区精品| 欧美日韩精品一区二区天天拍小说| 日韩视频永久免费观看| 欧美日本不卡| 免费成人黄色片| 亚洲国产综合视频在线观看| 欧美国产视频在线| 久久精品一本| 亚洲人成网在线播放| 欧美欧美在线| 亚洲欧美日韩在线一区| 亚洲第一狼人社区| 欧美精品一区二区久久婷婷| 一区精品在线播放| 国内久久精品视频| 欧美理论片在线观看| 日韩一级在线观看| 亚洲精品国产精品久久清纯直播| 欧美日韩视频不卡| 亚洲欧美美女| 亚洲尤物视频网| 黑丝一区二区三区| 欧美精品一区二区三| 欧美日韩一二三区| 欧美日韩国产色视频| 亚洲视频你懂的| 韩国一区电影| 激情欧美一区二区三区| 欧美片第1页综合| 久久夜色精品国产亚洲aⅴ| 午夜免费在线观看精品视频| 在线观看的日韩av| 国产精品自拍网站| 伊人成人网在线看| 国产一区二区三区成人欧美日韩在线观看 | 国产日本欧美一区二区| 久久精品免费看| 日韩亚洲不卡在线| 99精品视频免费| 伊人久久大香线| 国产精品青草综合久久久久99 | 亚洲精品一区二区三区四区高清 | 欧美va天堂| 亚洲免费视频网站| 亚洲伦理在线观看| 亚洲黄色一区| 精品999在线播放| 亚洲国产精品精华液网站| 国产三级欧美三级| 欧美视频在线一区二区三区| 欧美成年人网站| 久久这里只有精品视频首页| 欧美一级久久久| 亚洲视频自拍偷拍| 亚洲在线观看| 亚洲综合国产| 91久久夜色精品国产九色| 亚洲婷婷免费| 一区二区不卡在线视频 午夜欧美不卡'| 激情成人在线视频| 亚洲私人黄色宅男| 中日韩视频在线观看| 亚洲精品视频二区| 欧美一区二区免费| 欧美在线短视频| 欧美一区二区三区在线观看| 久久久久久久成人| 模特精品裸拍一区| 米奇777超碰欧美日韩亚洲| 欧美亚洲一区二区在线| 久久资源在线| 鲁鲁狠狠狠7777一区二区| 米奇777在线欧美播放| 国产美女搞久久| 伊人久久婷婷| 亚洲日本视频| 亚洲精品免费在线播放| 亚洲图片欧洲图片日韩av| 午夜精品久久久久久久男人的天堂| 亚洲高清一区二区三区| 午夜在线一区二区| 久久久久天天天天| 欧美刺激午夜性久久久久久久| 国产精品一区久久| 精品动漫3d一区二区三区免费| 一区在线播放视频| 韩国三级电影一区二区| 亚洲国内精品在线| 欧美一级播放| 女女同性精品视频| 欧美日韩综合视频网址| 国产亚洲精品aa午夜观看| 在线观看亚洲精品| 国内精品久久久久久影视8| 性做久久久久久| 麻豆av一区二区三区| 欧美日韩国产精品一区| 亚洲日本久久| 欧美伊久线香蕉线新在线| 久久亚洲精选| 在线观看日韩av电影| 亚洲一卡二卡三卡四卡五卡| 午夜精品久久久久影视| 亚洲第一视频| 欧美高清视频免费观看| 国产精品久久久久久久久免费樱桃| 国内久久视频| 亚洲综合国产| 欧美日韩大陆在线| 亚洲第一偷拍| 久久久久久久久久久久久久一区| 亚洲自拍都市欧美小说| 免费在线观看精品| 国产伦精品一区二区三区| 亚洲第一级黄色片| 久久国产一区二区| 欧美精品国产| 在线观看成人av| 久久久91精品国产一区二区精品| 一本色道久久综合亚洲91|