7

我正在尝试使用 RedisToGo 在 Heroku 上使用 django-rq 运行 rqscheduler。我已经按照他们的自述文件( https://github.com/ui/django-rq)中的描述实现了 django-rq 。

我有一个启动 rqworker 的工作人员,以及另一个使用自述文件中建议的管理命令启动 rqscheduler 的工作人员。rqworker 成功启动,但我在使用 rqscheduler 时一直遇到此错误:

redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

在我的设置中,我的 Redis 队列有以下配置:

RQ_QUEUES = {
'default': {
    'HOST': 'localhost',
    'PORT': 6379,
    'DB': 0,
    'PASSWORD': '*****',
    'DEFAULT_TIMEOUT': 500,
},
'high': {
    'URL': os.getenv('REDISTOGO_URL', 'redis://localhost:6379/0'), # If you're on Heroku
    'DEFAULT_TIMEOUT': 500,
},
'low': {
    'HOST': 'localhost',
    'PORT': 6379,
    'DB': 0,
}
}

我在我的 Procfile 中有这个:

web: gunicorn app.wsgi --log-file -
worker: python manage.py rqworker high
scheduler: python manage.py rqscheduler

关于为什么会发生这种情况的任何想法?

4

2 回答 2

5

如果这与任何人有关,请简单回答问题。在运行调度程序管理命令时使用参数 --queue,如下所示:

python manage.py rqscheduler --queue high
于 2016-12-15T18:16:46.617 回答
0

我遇到了同样的错误,并且没有 Redis 队列配置。我可以通过提供 Redis url 来让它工作:

rqscheduler --url $REDISTOGO_URL
于 2021-09-16T15:15:12.163 回答