2015-04-26 1 views
1

Для приложения, которое я разрабатываю, необходимо иметь бесконечный цикл для обработки бизнес-логики, которая полностью отделена от пользовательского ввода (они будут только просматривать его). Поскольку это разрыв с традицией MVC, я думал, что активная работа будет хорошим местом для ее создания.Rails ActiveJob для бесконечного цикла

Логика в цикле будет опроса микроконтроллеров в той же сети. У меня мало шансов изменить код на них, поэтому я должен адаптироваться к уникальному протоколу, который они используют. Когда микроконтроллеры отвечают, серверу необходимо будет выполнить некоторые вычисления и сохранить их в базе данных.

Задание будет запущено, когда приложение сервера. Только один экземпляр должен существовать, поэтому я не хочу помещать его в свои модели или контроллеры. Я попытался запустить его из нескольких мест в папке config, но это приведет к инициализации константы NameError.

Что было бы правильным способом запуска задания при инициализации сервера? Есть ли другой подход?

Я webdev newb с использованием Ruby 2.2.0 и Rails 4.2.0.

+0

нужно ли опрос происходить в непрерывном режиме реального времени? – fylooi

ответ

1

Как насчет использования запланированных заданий? Например, вы можете планировать его так, чтобы каждую минуту планировалось запустить задание, которое будет опросить все, что вам нужно для опроса?

Взгляните на этот драгоценный камень:

https://github.com/javan/whenever

 Смежные вопросы

  • Нет связанных вопросов^_^