Попытка начать Redis и Resque Scheduler в рамках задачи граблей

StackOverflow https://stackoverflow.com/questions/5316054

  •  24-10-2019
  •  | 
  •  

Вопрос

Я хочу начать Redis и Redis-Scheduler с задания по грабли, поэтому я делаю следующее:

namespace :raketask do
  task :start do
    system("QUEUE=* rake resque:work &")
    system("rake redis:start")
    system("rake resque:scheduler")
  end
end

Проблема в том, что Redis начинается на переднем плане, а затем это никогда не начинает спланировать планировщик. Если он не начнется в фоновом режиме (используя &). Планировщик должен быть запущен после того, как Redis работает и работает.

Это было полезно?

Решение

Похоже на Nirvdrum. Работники Respe собираются потерпеть неудачу/уйти, если Redis еще не работает и не принимает соединения.

Проверьте эту суть, чтобы получить пример того, как Начните вещи с монитора (Linux).

Monit позволяет одной службе зависеть от другой, и убедится, что они остаются в живых, контролируя файл .pid.

Другие советы

Это поражает меня как не отличную идею. Вы должны запустить свой сервер Redis с помощью сценария инициации или что -то в этом роде. Но, если вы действительно хотите пойти таким образом, вам, вероятно, нужно изменить свою Redis: запустите задачу, чтобы использовать NOHUP и фоновый процесс, чтобы вы могли отключиться от TTY и сохранить процесс запуска.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top