Отдельный рабочий сервер для отложенной работы с использованием Capistrano на Linode? - PullRequest
3 голосов
/ 30 апреля 2011

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

Мой вопрос заключается в том, как мне настроить Capistrano для развертывания моего приложения на обоих серверах, используя только один веб-интерфейс с одного и использовать другой для DJ?Буду ли я делать что-то подобное?

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

1 Ответ

1 голос
/ 18 декабря 2013

Вы можете установить отдельную роль сервера для отложенных заданий, добавив это в свой рецепт:

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

...