我有多个工作在不同的时间间隔运行,我的问题是一些工作失败了,当我登录门户网站检查工作时我注意到了。有没有办法配置所以如果任何工作失败我们会收到电子邮件警报。我使用的是quartz:1.0-RC9
,我的QuartzConfig.groovy
是..
quartz {
autoStartup = true
jdbcStore = false
waitForJobsToCompleteOnShutdown=false
}
environments {
test {
quartz {
autoStartup = false
}
}
}
答案 0 :(得分:0)
没有这样的功能,但您可以使用邮件插件快速完成。
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()
}
的详细信息