Рельсы Фоновая задача накладных расходов - PullRequest
8 голосов
/ 24 ноября 2008

Кто-нибудь делал сравнение накладных расходов различных методов фоновой обработки?

Фон / РБ, Скворец, Ворлинг MemcacheQ Beanstalk Фоновая работа (Bj) delayed_job (Dj)

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

Ответы [ 3 ]

7 голосов
/ 24 ноября 2008

Мне также было бы интересно провести всестороннее сравнение, но я могу сказать, что BackgroundRB устарела его автором. В EngineYard они специально рекомендуют BackgroundJob после того, как у него были неразрешимые проблемы с BackgroundRB. Однако я ничего не слышал о других опциях, о которых вы упомянули.

4 голосов
/ 29 января 2009

Это будет варьироваться в зависимости от самого приложения Rails.

Большинство этих процессоров зависят от ваших Rails-объектов, которые по существу загружают весь экземпляр Rails в память. Память вашего приложения будет зависеть от количества моделей, влияния любых плагинов и преобладающих климатических условий вашей среды.

У меня был слайс 256 МБ, на котором работали несколько Mongrels и BackgroundRB, и я обнаружил, что фоновый процесс использует примерно ту же память, что и экземпляр Mongrel.

Один вариант, который мне всегда нравился, - это поместить вашу запланированную логику в контроллер и вызывать ее через Cron с помощью wget или Curl. Вы можете использовать существующее Rails-приложение, и его настройка очень незначительна. Единственной причиной, по которой я не использовал эту опцию в приведенном выше случае, было требование попадания в очередь каждые 5 секунд (Cron может запускаться только каждую минуту).

2 голосов
/ 25 ноября 2008

Для низких эксплуатационных расходов мне нравится Фоновая Работа. Он запускается в вашем Rails-процессе или через cron, поэтому нет процессов-демонов для мониторинга. На моем сервере Bj в настоящее время использует 35636 RSS (примерно один процесс на Rails).

Я всегда удивляюсь, когда слышу о людях, использующих BackgrounDRB, потому что он в основном не поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...