Il existe peu de tableaux que le planificateur à quartz utilise pour planifier des travaux et identifier le travail en cours d'exécution. Il utilise les tableaux suivants:
qrtz_fired_triggers
qrtz_simple_triggers
qrtz_simprop_triggers
qrtz_cron_triggers
qrtz_blob_triggers
qrtz_triggers
qrtz_job_details
qrtz_calendars
qrtz_paused_trigger_grps
qrtz_locks
qrtz_scheduler_state
Quel est donc le but de chacun de ces tableaux et que signifie-t-il?
Merci d'avance.
J'ai eu la chance de travailler sur du quartz récemment. Je ne suis pas moi-même à 100% clair sur ce sujet et je vais faire de mon mieux pour répondre à votre question à partir de mon expérience personnelle.
Vous devez vous rappeler ce flux de base: 1. Créez un travail. 2. Créez un déclencheur. 3. Planificateur (travail, déclencheur) Tous les tableaux ci-dessus sont basés sur les 3 étapes ci-dessus.
Découvrez cette image que j'ai inversée en utilisant Mybench Workbench.
Je peux fournir quelques entrées pour les tables qrtz_lock et qrtz_scheduler_sate:
qrtz_lock sert à capturer l'instance ayant un verrou sur le trigger_access dans l'environnement en cluster lorsque nous avons plusieurs nœuds en cours d'exécution. Pour éviter le scénario, où les travaux en cours d'exécution ne sont pas exécutés à chaque nœud du cluster.
qrtz_scheduler_state sert à capturer l'état du nœud de sorte que si, dans tous les cas, un nœud tombe en panne ou échoue à exécuter l'un des travaux, l'autre instance exécutée en mode cluster peut choisir le travail raté.