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
Другие вопросы по тегам