RQ Scheduler抛出NoRedisConnectionException

时间:2018-05-28 16:10:51

标签: python-3.x python-rq

我正在构建一个应用程序,我正在尝试使用Redis / python-rq / rq-scheduler设置计划任务。

我可以设置一个队列,就像这样:

from redis import Redis
from rq import Queue

rq = Queue(connection=Redis(host=BaseConfig.REDIS_HOST, port=BaseConfig.REDIS_PORT))

def hello_world():
    print("hello world")

@app.route("/queue/test", method=["GET", "POST"])
def test_queue():
    job = rq.enqueue_call(func=hello_world)
    return jsonify(job_id=job.id())

但是现在当我尝试设置计划任务时,根据此处的文档link。像这样:

from datetime import timedelta

from redis import Redis
from rq import Queue
from rq_scheduler import Scheduler

rq = Queue(connection=Redis(host=BaseConfig.REDIS_HOST, port=BaseConfig.REDIS_PORT))
rqs = Scheduler(queue=rq)

def hello_world():
    print("hello world")

@app.route("/queue/test", method=["GET", "POST"])
def test_queue():
    job = rqs.enqueue_in(timedelta(seconds=30), func=hello_world)
    return jsonify(job_id=job.id())

我得到了

raise NoRedisConnectionException('Could not resolve a Redis connection')                                                                                                                                                                   
rq.connections.NoRedisConnectionException: Could not resolve a Redis connection

所有帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

创建调度程序对象时,您需要通过连接