Если вам нужна большая гибкость, чем просто таймер, вы можете использовать Quartz Plugin и настроить задание Cron:
class MyTimerJob {
static triggers = {
// cron trigger for every 5 minutes
cron name: 'myCronTrigger', cronExpression: '0 */5 * * * ?'
}
def execute = {
// perform task
}
}
Чтобы запустить Quartz в приложении автозагрузка (как сказал Джаред: не при tomcat автозагрузка), убедитесь, что ваш grails-app/conf/QuartzConfig.groovy
имеет следующее:
quartz {
autoStartup = true
}
autoStartup = true
по умолчанию, так что вы, вероятно, выиграли 'Там не нужно ничего менять.
Использование этого плагина избавит вас от необходимости самостоятельно обрабатывать логику таймера.