Rails 3 + Heroku + отложенные задания - помогите мне понять! - PullRequest
2 голосов
/ 06 января 2011

У меня проблемы с пониманием этой статьи: http://blog.darkhax.com/2010/07/30/auto-scale-your-resque-workers-on-heroku.

Я не совсем понимаю, зачем мне Redis + Resque, если я отложил работу, предоставленную Heroku.

Насколько я понимаю, я все еще должен платить за рабочих, верно? В чем мое основное преимущество использования этого решения?

Привет.

Ответы [ 4 ]

3 голосов
/ 06 января 2011

Если вы не знаете, зачем вам Resque, тогда он вам не нужен;)

Resque для высокой масштабируемости. delayed_job отлично подходит для мелкомасштабных вещей, но как только вы достигнете размера, скажем, Github , вам понадобится что-то вроде Resque. Если у вас работает delayed_job, оставайтесь с ним. Вам не нужно беспокоиться о его замене, пока ваша очередь фоновых заданий не наберет около 30 000 или около того.

0 голосов
/ 10 января 2013

Вы также можете использовать Hirefireapp.com для мониторинга и масштабирования своих приложений

0 голосов
/ 12 января 2012

hirefireapp - это новое простое решение для автоматического масштабирования работников.

Он порождает рабочих для вас в зависимости от размера очереди (настраивается), а затем «запускает» их, когда они больше не нужны. Вы платите за время dyno (с точностью до секунды) и за услугу hirefireapp. Теоретически вы могли бы бросить свой собственный, используя самоцвет openfire с открытым исходным кодом.

Он также обрабатывает масштабирование веб-страницы, если вы выберете, так что вы можете создавать больше веб-динамо на основе текущей задержки.

0 голосов
/ 23 марта 2011

Чтобы автоматически масштабировать работников heroku, используя отложенную работу, вы можете подключиться к enqueue и after hooks и использовать API heroku для запроса / обновления числа работников.

Для самой базовой реализации в enqueue проверьте, есть ли рабочие, и если нет, добавьте рабочего. После, проверьте, есть ли другие отложенные задания и, если нет, уменьшите число рабочих до 0.

Очевидно, вы можете сделать это более изощренным в масштабировании.

Вот базовая реализация: https://github.com/phaza/Heroku-Delayed-Job-Autoscale

...