Как начать работу по загрузке страницы в Grails с использованием кварца - PullRequest
0 голосов
/ 09 января 2012

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

А также как мы можем передать данные из задания в действие контроллера ..

Ответы [ 2 ]

1 голос
/ 09 января 2012

Кварц используется для запуска заданий, которые должны выполняться по какому-то регулярному расписанию, поэтому он не совсем подходит для кода, который должен запускаться при загрузке страницы.

Если вы хотите, чтобы какой-то код выполнялся всякий раз, когда вызывается действие контроллера, просто поместите его в действие!

как мы можем передать данные из задания в действие контроллера.

Это звучит как недостаток дизайна. Задания никогда не должны вызывать действие контроллера, я даже не уверен, возможно ли это.

0 голосов
/ 09 января 2012

Если вам необходимо выполнить задание по требованию, в фоновом режиме, в дополнение к расписанию, Quartz разрешит вам это сделать. В вашем контроллере или службе вы просто делаете MyJob.triggerNow(params), где params - это карта любых аргументов для работы.

Тип возврата triggerNow() - null, поэтому нет простого способа получить возвращаемое значение из триггера.

Если вам не требуется, чтобы код выполнялся в фоновом режиме, задание должно быть реорганизовано для вызова метода службы, который затем может быть вызван из действия вашего контроллера, как сказал Дон.

...