Перераспределение заданий с помощью Resque - PullRequest
2 голосов
/ 17 ноября 2011

Я заинтересован в использовании Resque для распределения работы по множеству разных компьютеров. У меня есть одна проблема, хотя. Если мне нужно убить одного из работников, выполняющих работу, я бы хотел, чтобы она автоматически выполняла эту задачу, чтобы она выполнялась другим работником. Я работал с Django Celery и просто делаю CTRL + C, который убивает работника, а также выполняет задачу. Есть ли способ, чтобы это произошло с Resque в Rails? Спасибо!

1 Ответ

3 голосов
/ 22 ноября 2011

Я только что понял это.Я могу перехватить термин сигнала (CTRL-C) и заставить его либо повторно выполнить задание, либо указать, что задание не выполнено, и выполнить повторную попытку повторного запуска задания позже.

Например:

def self.perform(args)
  trap("INT") do
     puts "Signal was caught!"
     #either raise an error here if using a tool like resque-retry or requeue the job
   end
  #Do work here
end

Извините за глупый вопрос;)

...