jruby on rails параметры планирования

Я использую JRuby 1.5.6 on Rails, чтобы создать себе приложение, которое будет периодически уходить и извлекать все подкасты RSS, на которые я тоже подписался.

Я выбрал JRuby в первую очередь потому, что я знаком с Java, хочу использовать фреймворк Rails и, что наиболее важно, я могу выполнять «тяжелые» задачи на Java, когда Ruby не соответствует моим требованиям. До сих пор (и я все еще нахожусь на ранних этапах разработки) этот гибридный подход работал очень хорошо.

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

Моя проблема сейчас в том, что после многих дней поиска подходящих решений, не входящих в комплект самоцветов, у меня осталось очень мало вариантов из-за того, что я использовал JRuby.

Некоторые из драгоценных камней, которые я пробовал .. .

rufus scheduler

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

delayed_job

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

На github есть вилка, не зависящая от демонов, однако я не рад переключению на вилку с основной ветки разработки, и у меня все еще осталась проблема ObjectSpace, в которой я не уверен, поскольку его влияние на производительность.

quartz-jruby

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

Проблема

Хотя я выделил здесь только 3 варианта, я в курсе что есть другие доступные. Однако я не смог найти решение, чтобы отметить все 3 поля требований (документы, поддержка, поддержка базы данных).

Итак, вопросы ...

Кто-нибудь еще был в этой ситуации и придумал решение?

Удалось ли кому-нибудь заставить delayed_job работать в какой-либо форме?

Есть ли какие-нибудь лучшие решения, которые я упустил, и которые удовлетворят мои требуется?

13
задан Phil Ostler 9 December 2010 в 09:21
поделиться