redis 队列

来源:互联网 发布:什么是网站数据接口 编辑:程序博客网 时间:2024/04/30 07:46

#!/usr/bin/env python

import time
import redis

#保证redis服务器启动,默认端口6379

pool = redis.ConnectionPool(host='127.0.0.1', port=6379)  #创建一个redis连接
r = redis.StrictRedis(connection_pool=pool)  #将连接添加进连接管理
while True:
    s = raw_input("publish:")
    if s == 'over':
        print '停止发布'
        break
    r.lpush('tq', s)  #将字符串string添加进一个名为tq的redis队列中
    print time.time()


###################


#!/usr/bin/env python

import time
import threading
import redis


class GETRedis(object):
    
    def __init__(self, host='127.0.0.1', port=6379, key='tq'):
        self.key = key
        try:
            self.pool = redis.ConnectionPool(host=host, port=port)
        except Exception, e:
            print e.message
            
        self.strict_redis(self.pool)

    def strict_redis(self, conn_pool):
        self.pool = redis.StrictRedis(connection_pool=conn_pool)

    def start_work(self):
        while 1:
            task = self.pool.blpop(self.key, 0)[1]
            print time.time()
            self.thread_handle(task)

    def thread_handle(self, task):
        t = threading.Thread(target=self.handle_work, args=(task,))
        t.start()

    def handle_work(self, task):
        print task

if __name__ == '__main__':
    getredis = GETRedis()
    getredis.start_work()


0 0