Создайте внутренний сервис, поддержка http не требуется

Мне нужно создать внутреннюю службу, которая ставит в очередь БД для изменений (в одной таблице) каждую секунду и обрабатывает данные после этого события.

Мне не нужен весь стек Rails, так как этот сервис не нуждается в функциональности Controller/View. По сути, из стека рельсов мне нужен только AR (или ORM).

Найденные решения / подходы для этого:

  • Используйте классический плагин фоновой обработки рельсов (например, starling/workling, delayed_job и т. Д.)
  • Используйте решение демона, такое как демоны RAA (и, возможно, как ORM, используйте DataMapper, так как оно может использоваться автономно)
  • Перепроектируйте вещи и используйте решение MQ

Что бы вы предложили, что это будет лучшим подходом?

2 ответа

Решение

Как насчет решения, подобного RabbitMQ?

Вместо того, чтобы использовать Rails, вы можете просто скачать ActiveRecord здесь и включить его в качестве библиотеки. Таким образом, вы получите ORM, который вам нравится, без накладных расходов на стек Rails.

Что касается части Ruby "Controller", вы можете использовать любое решение демона, которое вам нравится.

Другие вопросы по тегам