3 votes

Grails - Les emplois peuvent être désactivés à l'aide de config.groovy

Je me demande s'il existe un moyen de désactiver les jobs à l'aide de config.groovy ou d'un autre moyen. J'ai vu des posts où l'on peut désactiver des plugins via config.groovy, mais je n'ai rien vu à propos des jobs. J'aimerais pouvoir soit désactiver tous les jobs, soit désactiver chaque job individuellement sans avoir à les commenter. Je vous remercie.

7voto

Chris Peacock Points 1361

Comme les déclencheurs sont définis en tant que membres statiques dans un travail, vous pouvez les remplacer dans la section Config.groovy . Vous pouvez également supprimer les déclencheurs d'un travail particulier dans la configuration, ce qui le désactive :

MyJob.groovy

class MyJob {

  static triggers = {
    simple name: 'mySimpleTrigger', startDelay: 60000, repeatInterval: 1000  
  }    

  def execute() { 
    // Job code goes here
    // This method won't get called using the configuration below
  }
}

Config.groovy

MyJob.triggers = {}

2voto

vmorarian Points 62

Je suppose que vous utilisez le plugin Quartz. Dans ce cas, vous pouvez le désactiver via Config.groovy

quartz {
    autoStartup = false
}

1voto

Dónal Points 61837

Quelque chose comme ce qui suit désactiverait effectivement chaque tâche (bien que ce ne soit pas exactement la même chose que de désactiver complètement le plugin 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
  }
}

Pour éviter de répéter le code ci-dessus dans chaque classe de travail, placez-la dans une classe de base abstraite (ou utilisez la métaprogrammation pour obtenir le même résultat sans héritage).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X