2008-09-23 3 views

ответ

8

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

вас также может заинтересовать previous screencast, который использует грабли для фонового процесса, а также будущий, который, вероятно, будет о другом решении одного и того же вопроса.

+0

Это то, что я в конечном итоге использовал, гораздо проще, чем BackgrounDRb, особенно со скринкастом. – Otto 2008-10-29 20:26:50

3

BackgrounDRb - Pros: Полнофункциональный, обмен сообщениями, Cons: Резьбовые (! Крон - Рельсы не поточно), комплекс

Daemon Generator - Плюсы: Простой, выполняет задания, и это он !, Минусы: Ничего из этого причудливого обмена сообщениями.

7

Является ли что-то «лучшим» решением, действительно зависит от проблемы, которую вы пытаетесь решить. В некоторых случаях лучшим решением будет самое легкое решение, в другом - в супертяжелом весе.

BackgroundRb, вероятно, самый полнофункциональный процессор обработки заданий Rails, но он также является самым сложным, поэтому для его захвата потребуется больше инвестиций. BackgroundRb, вероятно, может обрабатывать большинство случаев использования, от простого до сложного.

Я слышал очень хорошие вещи о Ара Т. Говарда Background Job (Bj), которые, процитировать README является мозг мертв простой нуль админ фон приоритет очереди для Rails. Это гораздо более легкое решение и может быть предпочтительнее BackgroundRb для большинства сценариев.

Если все, что вы хотите, является решением для нередкой автономной обработки в пакетном режиме, то script/runner, который поставляется со всеми приложениями Rails, будет более чем достаточным.

Для дальнейшего чтения вы можете посмотреть HowToRunBackgroundJobsInRails от Rails Wiki.

1

Мы используем Cron. Легко настраивается, прост в обслуживании и всегда работает.

BackgroundRb съест ваш мозг.

3

Starling + Workling plugin мертв просто. Кроме того, он использует Memcached, который прост, проверен и масштабируется.

0

BackgrounDRb не является резьбовым, его полностью основан на процессе. Он имеет только функцию пулов потоков, которые пользователь может использовать, если он хочет одновременно обрабатывать связанные с IO задачи.

Попробуйте 1.1 релиз и позвольте мне (в моем блоге) или в списке рассылки узнать о любых проблемах.

4

Resque может помочь вам.

Это очень хороший инструмент для создания фоновых заданий, размещения этих заданий в нескольких очередях и последующей обработки.

Ребята из Github создали и использовали его.

В статье ниже, может помочь вам начать работу:

http://rubylearning.com/blog/2010/11/08/do-you-know-resque/

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