2013-08-17 2 views
0

Я запускаю приложение на героку, и я хотел выполнить операцию создания карты/сокращения, где я могу запускать рабочие места для рабочих, а затем, как только результаты будут выполнены, запустите задания сокращения.Зависимости от Heroku delayed_job

Это означает, что мне нужно вызвать некоторые (уменьшающие) задания как зависящие от других (карта).

Могу ли я достичь этого, используя герою?

Я видел эту вилку, но не активно разрабатывается. https://github.com/mceachen/delayed_job

Например, распределенная сортировка слияния - с заданиями сортировки и заданиями слияния и слиянием зависит от данных из заданий сортировки.

ответ

0

DelayedJob был раздвоен вокруг совсем немного, и репозитории могут вводить в заблуждение. Он по-прежнему находится в активном использовании и развитии с помощью этого репо:

https://github.com/collectiveidea/delayed_job

Я считаю, что DelayedJob может поддержать то, что вы просите. Вы можете запустить герою рабочих для запуска rake jobs:work, который запустит рабочий, пробивающий записи задания в очереди DelayedJob.

a) Если вы можете гарантировать, что ваши задания сортировки и ваши задания на слияние войдут в очередь DelayedJob в требуемом порядке, то ваш работник-дежурный может чередовать обработку заданий сортировки и слияния, учитывая, что задания на слияние зависят от сортировка, только что начавшаяся.

b) Может ли задание сортировки и задание слияния быть упаковано в одно «задание», в котором рабочий отменяет эту пару операций в целом и обрабатывает их оба? Это было бы лучшим решением, если вы хотите увеличить число своих героевских работников и одновременно работать с несколькими работниками DelayedJob в очереди DJ.

+0

Да, спасибо, я мог бы использовать отложенную работу, чтобы опросить db и добавить больше сокращенных замедленных заданий. – foobarometer

Смежные вопросы