Подтвердить что ты не робот

Что такое рабочий в рубинах/рельсах?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Часто в мире "Rails" рабочий ссылается на систему типа очереди с приоритетом, которая имеет отдельные процессы, выполняющие задачи для выполнения вне цикла приложения. Одна из самых популярных из этих систем - DelayedJobs. Это использует миграцию базы данных для добавления таблицы для хранения задач, которые должны выполняться рабочим процессом. Затем вы можете настроить любое количество рабочих процессов, которые будут проверять таблицу очередей DelayedJobs и выполнять сериализованную задачу. С DelayedJobs у вас есть не только возможность устанавливать приоритет для разных задач, но также и временные рамки для выполнения задачи, например. отправьте электронное письмо через час.

Надеюсь, это поможет, /Salernost

Ответ 3

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