Мониторинг периодической задачи в Rails - PullRequest
0 голосов
/ 17 июля 2011

Я использую eFax для отправки факсов из моего приложения Rails 3.1 и мне интересно, как лучше всего отслеживать состояние каждого факса.EFax позволяет вам отправлять запрос с идентификатором, чтобы найти его статус, и я хотел бы делать это каждую минуту, пока статус факса не будет успешным или неудачным.Я рассматриваю возможность создания заданий cron для каждого факса, а затем отменяю задание cron после успеха или неудачи.Или лучшим решением может быть какая-то периодическая работа сервера?У кого-нибудь есть опыт с чем-то подобным или есть предложения?

Ответы [ 2 ]

1 голос
/ 17 июля 2011

Использовать отложенную работу. http://railscasts.com/episodes/171-delayed-job Он будет повторять N раз для вас на ошибки, вы можете запланировать приоритет или будущее время для запуска. Вы также можете выполнить грабли в crontab, но запуск может занять много времени каждую минуту, потребляя ресурсы.

Если вам действительно нужно, чтобы он работал ровно в минуту, рассмотрите cron с гемом Every, http://railscasts.com/episodes/164-cron-in-ruby

1 голос
/ 17 июля 2011

Простое решение - создать в вашем приложении задачу rake, которая находит задачи факса, которые необходимо проверить, а затем обновляет их.Засунь это в работу cron и твое доброе дело.Проверяйте всякий раз, когда , для настройки заданий cron для вас.

Я хотел бы предложить хорошую систему планирования заданий, но я искал использование в Rails в течение нескольких лет.*

...