Я использую JRuby 1.5.6 на Rails, чтобы создать приложение, которое будет периодически уходить и получать любые подкасты RSS, которые я подписал тоже.
Я выбрал JRuby прежде всего потому, что я знаком с Java, хочу использовать структуру Rails и, самое главное, я могу выполнять задачи "тяжелого подъема" на Java, когда Ruby не соответствует моим требованиям. До сих пор (и я все еще на ранней стадии развития) этот гибридный подход работает очень хорошо.
Теперь я нахожусь в точке, где мне необходимо реализовать планирование периодических и длительных задач для фонового процесса. Мои требования состоят в том, чтобы иметь систему планирования базы данных, которая в идеале хорошо документирована, в настоящее время поддерживается и очищается.
Моя проблема заключается в том, что после многих дней исследования подходящих решений для самоклеящихся упаковок я, похоже, оставил очень мало вариантов из-за моего использования JRuby.
Некоторые из драгоценных камней, которые я пробовал...
планировщик rufus
Используя это до того, как я доволен интерфейсом и документацией, однако отсутствует постоянство базы данных, следовательно, это прерывание транзакций для моих требований.
delayed_job
Моим идеальным решением будет delayed_job. Однако хорошая документация, поддерживаемая и поддерживаемая базами данных, ломается под JRuby из-за отключения ObjectSpace (однако мы можем исправить это путем повторного включения), но более смертельно зависимость от драгоценных камней демонов, которая бросает "вилку", является небезопасной и отключенной по умолчанию на JRuby "из-за ограничений в реализации JRuby.
На github есть вилка, которая не имеет зависимости от демонов, однако я не доволен переходом на вилку из основной ветки разработки, и мне по-прежнему остается проблема ObjectSpace, в которой я не уверен, поскольку к этому влиянию производительности.
кварц-JRuby
Пока существовали различные драгоценные камни на основе кварца, это последнее предложение - еще одна попытка предоставить гладкий рубиновый интерфейс. Существует, однако, минимальная документация, и я не уверен, что если это может быть поддержано базой базы данных, мое чувство кишки состоит в том, что это не так.
Проблема
Пока я выделил только 3 варианта, я знаю, что есть другие. Я, однако, не смог найти решение для отметки всех 3 блоков требований (документы, поддерживаемые, поддерживаемые базами данных).
Итак, вопросы...
Кто-нибудь еще был в этой ситуации и придумал решение?
Кому-нибудь удалось заставить delayed_job работать в любой форме?
Есть ли какие-то лучшие решения, которые я упустил и буду удовлетворять моим потребностям?