У меня есть приложение JRuby / Rails, которое развертывается как файл WAR и запускается на сервере приложений Tomcat. Я хотел бы использовать delayed_job или Resque в качестве инструмента для выполнения длительных заданий, которые проходят через базу данных через те же подклассы ActiveRecord, которые используются моим приложением Rails. И я хочу, чтобы он работал в другом процессе или потоке, чтобы моя веб-часть приложения не казалась медленной.
Инструкции по включению и использованию delayed_job или Resque довольно ясны. Например, после того, как я выполнил всю работу по использованию Resque, мне просто нужно сделать:
QUEUE=* jruby -J-cp /path/to/library -S rake environment resque:work
Но это работает только из командной строки. Как мне сделать так, чтобы мои процессы Resque могли запускаться путем развертывания файла WAR в Tomcat? Если да, то это тот же файл WAR с другой конфигурацией или другой файл WAR? Если это другой файл WAR, как его сгенерировать? Нужен ли мне второй Tomcat для процесса Resque / DJ? Есть ли способ поместить процесс Resque / DJ в отдельный поток JRuby / JVM? Есть ли какие-нибудь настройки, которые я должен сделать, чтобы это заработало?