redis redis.client rq Queue job.result#=>没有

时间:2012-12-30 11:11:09

标签: python redis python-rq

我试图找出使用redis排队的rq。我有简单的test_job函数,我想在队列中使用它。

def test_job():
    return "OK"

该脚本主要来自rq文档:

#!/usr/bin/env python

import redis.client
from rq import Queue
import time

from helpers import test_job

def main():

    q = Queue(connection=redis.client.Redis('localhost',6379)) 

    job = q.enqueue(test_job)
    print job.result   # => None

    while not job.result:
        time.sleep(2)
        print job.result   # => None

if __name__ == "__main__":
    main()

问题在于我不会在循环中离开。 job.result仍然没有。但是,根据log:

,redis连接似乎有效
[1279] 30 Dec 12:08:20.041 - 0 clients connected (0 slaves), 612560 bytes in use
[1279] 30 Dec 12:08:21.371 - Accepted 127.0.0.1:58541
[1279] 30 Dec 12:08:25.337 - DB 0: 23 keys (0 volatile) in 32 slots HT.
[1279] 30 Dec 12:08:25.337 - 1 clients connected (0 slaves), 633664 bytes in use

1 个答案:

答案 0 :(得分:2)

您是否开始工作人员处理任务?

看起来没有工作人员正在运行(因为只有您的客户端连接到Redis)。从项目的根目录运行rqworker