我正在构建一个应用程序,我正在尝试使用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
所有帮助将不胜感激。谢谢。
答案 0 :(得分:0)
创建调度程序对象时,您需要通过连接