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()
問題は、while ループを離れないことです。job.result は None のままです。ただし、ログによると、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