Resque и resque-scheduler работают параллельно

У меня есть обработчики resque и resque-scheduler с двумя разными очередями,
они выполняют одну и ту же задачу, извлекают ссылки для определенного веб-сайта и сохраняют эти ссылки.
Что произойдет, если обработчики resque-scheduler и resque будут работать в параллельно и выполнять одну и ту же задачу (получать ссылки для одного и того же веб-сайта)?
Как я могу действовать в таких ситуациях?


person Aydar Omurbekov    schedule 19.11.2013    source источник


Ответы (1)


Либо вы не уточнили свои настройки, либо там есть какие-то большие проблемы. Resque и Resque-scheduler должны были работать вместе. Resue-scheduler предназначен только для планирования задач в будущем. Такие задачи по-прежнему выполняются работниками Resque. Прочтите этот раздел на их домашней странице в github: https://github.com/resque/resque-scheduler#delayed-jobs. Чтобы процитировать их,

Это сохранит задание... в отложенной очереди resque, и в это время процесс планировщика вытащит его из отложенной очереди и поместит в соответствующую рабочую очередь для данного задания, и оно будет обработано, как только рабочий станет доступен. (как и любая другая спасательная работа).

Итак, вот и все. Продолжайте работать вместе с работниками-спасателями и планировщиками навсегда. Чтобы ответить на другую часть вашего вопроса, если вы планируете какую-либо задачу через планировщик, и та же задача также ставится в очередь для непосредственного получения resque, чистый результат зависит от логики выполнения задачи. «Извлечение чего-либо с веб-сайта» звучит безобидно, если делать это дважды. Но если вы обновите какую-то таблицу транзакций, чтобы производить платежи вашим поставщикам на основе результата выборки, у вас большие проблемы.

person Chandranshu    schedule 19.11.2013