Что-то вроде следующего будет эффективно отключать каждое задание (хотя это не совсем то же самое, что полное отключение плагина Quartz):
Config.groovy
MyJob.diabled = true
MyOtherJob.disabled = false
MyJob.groovy
class MyJob {
def grailsApplication
static triggers = {
simple name: 'mySimpleTrigger', startDelay: 60000, repeatInterval: 1000
}
def execute() {
String className = getClass().simpleName
if (grailsApplication.config."$className".disabled) {
return
}
// Job code goes here
}
}
Чтобы избежать повторения кода выше в каждом классе Job, либо поместите его в абстрактный базовый класс (либо используйте метапрограммирование для достижения того же результата без наследования).