Question

J'utilise v.1.8.0 Quartz Scheduler.

Quelle est la différence entre scheduler.standby () et scheduler.pauseAll () ?

  

Mode veille () -              arrête temporairement le déclenchement de triggers du planificateur.

     

pauseAll () -              Pause tous les déclencheurs - semblable à l'appel   pauseTriggerGroup (groupe) sur tous les   groupe, cependant, après avoir utilisé ce   Procédé resumeAll () doit être appelée pour   effacer l'état du planificateur de   « Se souvenir » que tous les nouveaux déclencheurs   seront mis en pause comme ils sont ajoutés.

D'après ce que j'ai compris de la documentation de l'API, je ne suis pas en mesure de facilement / différencier clairement / distinguer de chacun d'eux. Je vois tous les deux servir le même but - temporairement pause / arrêter tous les déclencheurs du planificateur, puis suivi d'un start () (pour veille) ou resumeAll () (pour pauseAll) pour effacer l'état du planificateur. Y at-il autre différence?

Les experts espèrent peut me aider à comprendre une différence subtile.

Était-ce utile?

La solution

La différence est dans déclenchement des instructions de ratés d'allumage appliquant comportement.

Lorsque vous appelez start () après veille (), les ratés de combustion qui apparaissent en mode veille, sera ignoré.

Lorsque vous appelez resumeAll () après pauseAll (), tous les ratés de combustion qui apparaissent pendant le programmateur a été suspendu, sera applyed.

Autres conseils

Il y a une différence quand planificateur est repris après veille et pauseAll .

J'ai fait la différence en gras dans la description suivante de docs API.

Mode veille :

  

veille void ()                jette SchedulerException arrête temporairement le Planificateur de   déclenchement des triggers.

     

Quand le démarrage () est appelé (pour amener le   ordonnanceur du mode stand-by),   déclenchement des instructions de ratés d'allumage ne sera pas   appliquer pendant l'exécution de la   méthode start () - seront les ratés d'allumage   détectée immédiatement après (par le   JobStore de processus normal de).

     

Le planificateur est pas détruit, et   peut être relancée à tout moment.

pauseAll :

  

pauseAll void ()                 lancers francs SchedulerException Pause tous les déclencheurs   - semblable à appeler pauseTriggerGroup (groupe) sur tous les   groupe, cependant, après avoir utilisé ce   Procédé resumeAll () doit être appelée pour   effacer l'état du planificateur de   « Se souvenir » que tous les nouveaux déclencheurs   seront mis en pause comme ils sont ajoutés.

     

Lorsque resumeAll () est appelée (à   un-pause), déclenchement raté d'allumage   Des instructions seront appliquées.

Voici ce que je suis arrivé à partir du code source v1.8.6:

standby() fige simplement le fil de programmateur, ce qui signifie plus de déclenchement sera tiré à partir de maintenant, même les nouveaux déclencheurs ajoutés plus tard .

start() juste reprendre le fil de planificateur, et ne sera pas d'appliquer des politiques ratés d'allumage immédiatement . Mais tous les ratés d'allumage seront appliquées plus tard naturellement.

pauseAll() est similaire à pauseTriggerGroup() d'appel sur tous les groupes de déclenchement maintenant existants , ce qui signifie que ces nouveaux groupes de déclenchement ajoutés seront ensuite tiré normalement. Et Veuillez noter qu'il n'y a rien à voir avec pauseJob() ou pauseJobGroup(), il est juste de ce qui se passe sur les déclencheurs et leurs groupes.

resumeAll() est similaire à resumeTriggerGroup() d'appel sur tous les groupes de déclenchement existant actuellement. En outre, des ratés d'allumage seront appliquées lors de l'exécution de resumeAll().

start () et de veille () sont des méthodes par instance. D'autres instances en cours d'exécution en mode cluster continueront à l'emploi de déclenchement.

resumeAll () et pauseAll () est applicable à l'ensemble du cluster.

Alors que pauseAll() fait une pause toutes les horaires (déjà créé par ce moment), pauses standby() un programmateur lui-même . Ainsi, lorsque vous créez un nouveau calendrier, après pauseAll() il sera planifié et exécuté de façon appropriée, mais en cas de standby() il court au plus tôt une méthode « start () » sera appelé un programmateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top