Отделен работен сървър за отложена работа с помощта на Capistrano на Linode?

Имам приложение, което силно разчита на обработка във фонов режим и бих искал работниците delayed_job да са на отделен екземпляр на Linode от съображения за производителност. Намерих тази наистина полезна публикация относно възможността да стартирате DJ worker на различен сървър, без да се налага да стартирате Apache и изглежда, че така ще настроя нещата.

Въпросът ми е как да конфигурирам Capistrano за разгръщане на приложението ми и на двата сървъра, като стартирам само действителния край, обърнат към мрежата, от единия и използвам другия за DJ? Бих ли направил нещо подобно?

role :web, "domain.com"
role :app, "domain.com", "workers.domain.com"
role :db,  "domain.com", :primary => true

person dchuk    schedule 29.04.2011    source източник
comment
Вижте тези два въпроса: stackoverflow.com/questions/7210715/ stackoverflow.com/questions/4621817/   -  person John Bachir    schedule 27.08.2011


Отговори (1)


Можете да зададете отделна сървърна роля за отложени задачи, като добавите това към вашата рецепта:

set :delayed_job_server_role, :utility

След това прикачете тази роля към вашия работен (помощен) сървър:

role :web, "domain.com"
role :app, "domain.com"
role :db,  "domain.com", :primary => true
role :utility, "workers.domain.com"

За повече информация: https://github.com/collectiveidea/delayed_job/wiki/Rails-3-and-Capistrano

person aruanoc    schedule 18.12.2013