Вопрос по ruby-on-rails, ruby – Что такое рабочий в рубине / рельсах?

21

Я из мира Java и продолжаю слышать этот термин «работник» в мире рубинов / рельсов. Что это? Тема?

Ваш Ответ

3   ответа
7

Часто в «мире рельсов» работник ссылается на систему очередей с приоритетами, в которой отдельные процессы отбрасывают задачи для выполнения вне цикла приложения. Одна из самых популярных из этих системDelayedJobs, При этом используется миграция базы данных для добавления таблицы для хранения задач, которые должны выполняться рабочим процессом. Затем вы можете настроить любое количество рабочих процессов, которые будут проверять таблицу очередей DelayedJobs и выполнять сериализованную задачу. С DelayedJobs у вас есть не только возможность установить приоритет различных задач, но и сроки выполнения задачи, например. отправить конкретное письмо через 1 час.

3

Сервер, на котором запущено ваше приложение rails, использует рабочих для выполнения всего, что нужно приложению. Он отправляет электронную почту, выполняет запросы, выполняет расчеты и т. Д. Количество сотрудников, которые вам нужны, зависит от объема трафика и расчетов, которые необходимо выполнить вашему веб-приложению.

30

Зависит от контекста.

Рабочий - это, как правило, процесс, который выполняется за пределами цикла запроса приложения. Ruby библиотеки, такие какспасательное а такжеdelayed_job обычно используются для управления рабочими очередями.

С другой стороны, если мы говорим о веб-серверах, то слово «работник» иногда используется взаимозаменяемо с потоками или процессами (то есть: nginx или apache «worker»).

на веб-серверах являются «работниками»; отдельные потоки или процессы? Kamilski81
@ Kamilski81 на веб-серверах и с использованием решений, изложенных здесь, это будут отдельные процессы. Например, с помощью delayed_job вы можете запускать много разных рабочих процессов, которые могут вытолкнуть следующую задачу с наивысшим приоритетом из базы данных. Благодаря этой архитектуре многие люди запускают дополнительный процесс мониторинга, используя что-то вроде Бога или BluePill. Смотрите здесь для получения дополнительной информации:ruby-toolbox.com/categories/server_monitoring

Похожие вопросы