RQScheduler на Heroku
Я пытаюсь запустить rqscheduler с django-rq на Heroku с RedisToGo. Я реализовал django-rq, как описано в их readme ( https://github.com/ui/django-rq).
У меня есть работник, который запускает rqworker, и другой работник, который запускает rqscheduler, используя команду управления, предложенную в файле readme. 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
Есть мысли о том, почему это может происходить?
2 ответа
Если это кому-то важно, просто ответьте на проблему. Используйте аргумент --queue при запуске команды управления планировщиком следующим образом:
python manage.py rqscheduler --queue high
У меня была такая же ошибка, и у меня не было конфигурации очередей Redis. Я смог заставить его работать, предоставив URL-адрес Redis:
rqscheduler --url $REDISTOGO_URL