Grails Quartz Scheduler为状态为的失败作业发送电子邮件通知

Grails Quartz Scheduler为状态为的失败作业发送电子邮件通知,grails,quartz-scheduler,Grails,Quartz Scheduler,我有多个作业在不同的时间间隔内运行,我的问题是一些作业失败了,我在登录web门户检查作业时注意到了这一点。是否有任何方法可以配置,以便我们在任何作业失败时收到电子邮件警报。我使用的是quartz:1.0-RC9,我的QuartzConfig.groovy是 quartz { autoStartup = true jdbcStore = false waitForJobsToCompleteOnShutdown=false } environments { test { quartz { a

我有多个作业在不同的时间间隔内运行,我的问题是一些作业失败了,我在登录web门户检查作业时注意到了这一点。是否有任何方法可以配置,以便我们在任何作业失败时收到电子邮件警报。我使用的是
quartz:1.0-RC9
,我的
QuartzConfig.groovy

quartz {
autoStartup = true
jdbcStore = false
waitForJobsToCompleteOnShutdown=false
}

environments {
test {
quartz {
  autoStartup = false
}
}
}

没有这样的功能,但是你可以用邮件插件快速完成

1。)将此类字符串添加到BuildConfig.groovy中:

 plugins {
   ....
   runtime ":mail:1.0.1"
 }
2。)添加到您的电子邮件和密码Config.groovy: 例如,下面是如何配置默认发件人以使用Gmail帐户发送:

grails {
   mail {
     host = "smtp.gmail.com"
     port = 465
     username = "youracount@gmail.com"
     password = "yourpassword"
     props = ["mail.smtp.auth":"true",                     
              "mail.smtp.socketFactory.port":"465",
              "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
              "mail.smtp.socketFactory.fallback":"false"]
   }
}
3。)您可以在工作中添加发送电子邮件,例如:

class YourJob {
  static triggers = {
     simple repeatInterval: 5000l // execute job once in 5 seconds
  }

  //Adding service from plugin
 def mailService

 def execute() {
     try{
     //CODE that can fail
     }catch(e){

         mailService.sendMail {                
             to "my@gmail.com"
             subject "Failed"
             html "THIS JOB IS FAILED"
         }


       }
    }
}
您可以在某些服务中移动它,例如MessageService,然后您可以这样做:

try{
//JOB CODE THAT CAN FAIL
} catch(e){
 messageService.sendFailedJobEmail()
}
关于使用插件的更多信息