2013-07-30 3 views
1

У меня есть приложение Grails, в котором я хочу, чтобы поток запускался в фоновом режиме сразу же после запуска моего приложения, которое запрашивает базу данных и получает набор результатов. Эта операция должна выполняться каждые 5 минут.Фоновый процессный плагин для grails

Я искал и обнаружил, что плагин для кварца для грааля является лучшим, но этот плагин работает в приложении Grails, но не при развертывании в качестве войны в Tomcat.

Есть ли другой плагин, отличный от кварца, для выполнения этой операции?

Просьба привести несколько предложений.

Заранее спасибо.

ответ

1

Вы можете использовать Bootstrap.groovy для запуска кода при запуске приложения. Просто разместите код, который вы хотите, чтобы раздел def init = { servletContext ->}.
Используйте команду YourJob.triggerNow(), чтобы принудительно запустить работу при запуске приложения.

+0

В самом Bootstrap.groovy мы можем предоставить таймер для выполнения задания рекурсивно на каждые 5 минут? –

+0

Нет, вы можете просто заставить работать в Bootstrap.groovy. После того, как приложение началось, пусть кварц выполняет свою работу. См. Http://grails-plugins.github.io/grails-quartz/guide/scheduling.html, чтобы узнать больше о том, как настроить задания. –

+0

На самом деле проблема заключается в том, что кварц не работает при развертывании в качестве войны в Tomcat. Итак, как я могу начать поток и рекурсивно? –

1

Я искал и нашел, что кварц плагин для Grails является лучшим вариантом но плагин работает в Grails выполнения приложения, но не тогда, когда развертывается как войны в Tomcat.

Я не думаю, что это правда. Плагин Quartz должен работать как в производственной среде, так и в режиме разработки. Я использовал их в некоторых проектах.

+0

FYI, пожалуйста, обратитесь к [this] (http://stackoverflow.com/questions/17832586/grails-quartz-plugin-is-not-working-when-deployed-in-tomcat?noredirect1_comment26028184_17832586). –

+0

@VasanthRajasekaran: Я ответил на ваш первоначальный вопрос. Похоже, у вас проблема с библиотекой, пожалуйста, проверьте. –

+0

Спасибо @HoangLong. –