Создайте внутренний сервис, поддержка http не требуется
Мне нужно создать внутреннюю службу, которая ставит в очередь БД для изменений (в одной таблице) каждую секунду и обрабатывает данные после этого события.
Мне не нужен весь стек Rails, так как этот сервис не нуждается в функциональности Controller/View. По сути, из стека рельсов мне нужен только AR (или ORM).
Найденные решения / подходы для этого:
- Используйте классический плагин фоновой обработки рельсов (например, starling/workling, delayed_job и т. Д.)
- Используйте решение демона, такое как демоны RAA (и, возможно, как ORM, используйте DataMapper, так как оно может использоваться автономно)
- Перепроектируйте вещи и используйте решение MQ
Что бы вы предложили, что это будет лучшим подходом?
2 ответа
Решение
Вместо того, чтобы использовать Rails, вы можете просто скачать ActiveRecord здесь и включить его в качестве библиотеки. Таким образом, вы получите ORM, который вам нравится, без накладных расходов на стек Rails.
Что касается части Ruby "Controller", вы можете использовать любое решение демона, которое вам нравится.