User Tools
Writing /app/www/public/data/meta/onboarding/snmpmanager/quartz_-_scheduling_overview.meta failed
onboarding:snmpmanager:quartz_-_scheduling_overview
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| onboarding:snmpmanager:quartz_-_scheduling_overview [2017/02/14 00:44] – created dmcgee | onboarding:snmpmanager:quartz_-_scheduling_overview [2021/06/25 10:09] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Quartz - Scheduling Overview ====== | ||
| + | Author: David McGee | ||
| + | |||
| + | **Introduction** | ||
| + | |||
| + | Quartz is [1] an open source job scheduling library that can be integrated within a Java application. It can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may execute virtually anything you may program them to do. Quartz is freely usable, licensed under the Apache 2.0 license. | ||
| + | |||
| + | Errigal utilise Quartz for scheduling of jobs across the IDMS platform. This may be open to future improvements! | ||
| + | |||
| + | **Configuration** | ||
| + | |||
| + | Using the **thread_config** table of the **SnmpManager** database, one can specify on which servers running the Quartz a specific job type should run (e.g. apps1 only runs CONFIG_SYNC and apps2 only runs SYNC_SCHEDULER). | ||
| + | |||
| + | **thread_config** example (" | ||
| + | | **id** | **failover_hostname** | **hostname** | **is_active** | **type** | ||
| + | | 44 | lb1 | lb1 | | DISTRIBUTOR | ||
| + | | 45 | apps1 | apps1 | | HANDLER | ||
| + | | 46 | apps2 | apps2 | | HANDLER | ||
| + | | 49 | apps1 | apps1 | | CONFIG_SYNC | ||
| + | | 55 | apps2 | apps2 | | SYNC_SCHEDULER | ||
| + | |||
| + | **Grails Plugin** | ||
| + | |||
| + | The grails quartz plugin [2] adds Quartz job scheduling features to the Grails framework by wrapping the quartz scheduling library in a plugin. This is possible through specifying the appropriate version of the Quartz plugin via an IDMS application' | ||
| + | |||
| + | |||
| + | **Scheduling a Job** | ||
| + | |||
| + | Please find an example from the [3] official plugin documentation: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Scheduling a Cron Job** | ||
| + | |||
| + | Please find an example from the [3] official plugin documentation: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Errigal Support - Quartz Issues observed** | ||
| + | |||
| + | * Fully Blocked jobs - One of the most common issues observed in production involves Quartz jobs becoming blocked/ | ||
| + | |||
| + | **Self-assessment** | ||
| + | |||
| + | - Find out how to unblock a blocked quartz job, for your own knowledge. This shouldn' | ||
| + | - Identify the current Grails quartz plugin being used across the IDMS applications. BitBucket is your friend, here! | ||
| + | - Find 1 quartz job in each of the IDMS applications: | ||
| + | |||
| + | **Resources** | ||
| + | |||
| + | [1] [[http:// | ||
| + | |||
| + | [2] [[https:// | ||
| + | |||
| + | [3] [[http:// | ||