redis訊息佇列的使用
# -*- coding: utf-8 -*-
"""created on tue mar 26 15:58:34 2019
@author: admin
"""import redis
class redisqueue(object):
def __init__(self, name, namespace='queue', **redis_kwargs):
# redis的預設引數為:host='localhost', port=6379, db=0, 其中db為定義redis database的數量
self.__db= redis.redis(**redis_kwargs)
self.key = '%s:%s' %(namespace, name)
def qsize(self):
return self.__db.llen(self.key) # 返回佇列裡面list內元素的數量
def put(self, message):
self.__db.rpush(self.key, message) # 新增新元素到佇列最右方
def get_tuple(self, timeout=none):
# 返回佇列第乙個元素,如果為空則等待至有元素被加入佇列(超時時間閾值為timeout,如果為none則一直等待)
message = self.__db.blpop(self.key, timeout=timeout)
# if item:
# item = item[1] # 返回值為乙個tuple (self.key,item)
return message
def get_first_element(self):
# 直接返回佇列第乙個元素,如果隊列為空返回的是none
item = self.__db.lpop(self.key).decode()
return item
q = redisqueue("dog")
#發布任務到dog
messg = "ssssssssss"
q.put(messg)
#在dog獲取任務
dd = q.get_first_element()
print(dd)
Python3學習筆記
最近在起步學python,聚合一下這個過程中蒐集的資源和對一些基本知識做個小總結,語法基於python3,方便以後查詢。python官方文件 不錯的基礎課程 基本語法 演算法 建模 練習 以下是整理常用可能遺忘的基礎點 python3中的輸入是input 獲得使用者輸入的字串 a input ple...
python3 學習筆記
python3學習筆記 python基礎 輸出 print 括號中加上想要輸出的資料,就可以將指定內容輸出至螢幕。1.輸出的時候要注意資料型別。字串,整數等等 2.括號中可以包含多個字串,使用逗號隔開就可以了。但是每次輸出遇到這個連線逗號的時候都會輸出乙個空格。3.括號中的內容也可以是變數名和計算公...
Python3學習筆記02
昨天發現無法轉碼,於是就又找了另外找了乙個參考 發現可以執行了 encoding utf 8 import urllib.request def getdata url www.xx.com data urllib.request.urlopen url read z data data.decod...