Повторяющиеся задачи в Delajed Jobs без запуска Rails? - PullRequest
2 голосов
/ 20 июля 2010

Если мне нужно создавать повторяющиеся задачи в отложенных заданиях, что такое чистое решение?У меня есть задача импорта, которую я хочу запускать каждые 5 минут, но я не хочу запускать рельсы / грабли, чтобы заставить ее создать отложенное задание, которое можно забрать.Если Rails уже работает в системе, возможно, я могу просто создать HTTP-запрос, который заставит приложение rails запустить DJ?Я мог бы поместить эту задачу cron в скрипт ruby, который запускается каждые 5 минут, отправляя запросы на сервер, но без запуска рельсов.Что ты думаешь?

Ответы [ 3 ]

1 голос
/ 20 июля 2010

В этот форк delayed_job встроено повторение (и могут быть другие вилки, которые делают то же самое):

http://github.com/andrewroth/delayed_job

0 голосов
/ 17 декабря 2010

Об этом ... У меня такое же желание, я планирую иметь cron для запуска запроса curl по определенному маршруту на моем сайте каждые 5 минут, поэтому он запускает действие с результатом, и я буду уверен, что он запускался только один раз.

В мои цели входит: награждение бейджами и составление некоторых средних

0 голосов
/ 20 июля 2010

Подход cron все еще кажется достаточно чистым.Для этого нужно только запустить rake, а не полноценный сервер Rails.Rake не нужен Rails для работы.

Однако, если вам действительно не нравится этот подход, вы можете организовать повторное выполнение повторяющихся заданий , когдаобрабатываются с установкой run_at времени до 5 минут (или чего-то еще) в будущем.Очевидно, что вам нужно выполнить простую очередь в первый раз и убедиться, что сервер delayed_job продолжает работать

...