Как реализовать пульс для RQ работника, чтобы повторить? - PullRequest
0 голосов
/ 25 мая 2019

Я пишу приложение, которое использует RQ для работы. Экземпляр Redis для RQ находится в Heroku, но работники RQ находятся на внешних машинах. Они устанавливают соединение Redis при запуске.

Если Heroku перемещает экземпляр Redis (что он может и делает), то рабочие оказываются в затруднительном положении, т. Е. С подключением к экземпляру Redis, который больше не существует, и без подключения к новому.

Я могу получить URL-адрес redis от heroku с помощью API, но как я могу заставить рабочих переподключиться?

Я подумываю получить URL-адрес Redis при запуске, затем создать фоновый поток, который пингует сервер Redis каждые N минут и завершается, когда он не может общаться с Redis.

Так как у меня будет монитор процесса (цирк, руководитель, что-то), он просто перезапустит работника.

Это разумно? Есть ли более распространенная лучшая практика для работы с RQ за пределами Heroku, но с экземпляром Redis внутри Heroku?

В этом отношении, похоже, что работники RQ на Heroku должны были решить эту же проблему.

...