我正在尝试使用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
对为什么会发生这种情况有任何想法吗?
最佳答案
如果这与任何人都有关,则对问题进行简单的回答。像这样运行调度程序管理命令时,请使用参数--queue:
python manage.py rqscheduler --queue high