Quartz Scheduler User Guide

Please note that this user guide is intended for OpenMRS 1.7

User guide for previous version of the module: Quartz Scheduler User Guide for OpenMRS1.6


About the Quartz Scheduler v0.3.0

The schedulerQuartz module was create as a Google Summer of Code 2009 Project. A scheduler created to give extensive scheduling features to OpenMRS users. The schedulerQuartz uses OpenMRSs core schedulers Task classes to schedule its tasks.

schedulerQuartz v0.3.0 is successfully tested with OpenMRS 1.7.x. Additional information can be acquired emailing the module creator djmlog103@gmail.com or contacting the developer list dev@openmrs.org

schedulerQuartz v.0.3.0 is available in OpenMRS SVN : http://svn.openmrs.org/openmrs-modules/schedulerquartz/branch/schedulerquartz_OpenMRSV1.7/

Features

  • View/manage tasks
  • Create a new task
  • View exact time on server while creating task
  • View task details
  • Start/stop tasks
  • Delete tasks
  • Execute a task right now
  • Pause the scheduler
  • Restart the scheduler
  • View the log file of the scheduler (for debugging)
  • View schedule notifications (simple debug) (new!)
  • Set scheduler email configuration (new!)
  • View the properties of the Quartz scheduler
  • Supports multiple scheduling types
    • Run a task once
    • Run tasks often (e.g. Run once every X seconds, minutes, hours, days, weekdays)
    • Run tasks every so often (e.g. Run once every week, month, year)
    • Repeat tasks on a custom schedule (e.g. Run once on Monday at 3:00am, Friday at 2:00am)
  • Customizable start time (Timed, Start Immediately (new!))
  • Customizable end times (Execute Forever, Repeat n times, End at given date) note that not all scheduling types have all end types
  • Ability to add properties to the running tasks
  • Ability to set priority (used by Quartz to run more important tasks first)
  • Ability to send task execution alerts to users
    • When a task executes
    • When a task misfires
    • When a task finished executing for the last time

Using the module

After loading the schedulerQuartz module, a new category named Quartz Scheduler will appear in the Administration section.

Configuring the module

SchedulerQuartz version 0.3.0 abandoned configuration property setting method used in prior versions of the module. configuration parameters should be set if the module user wants to use the email notification feature of the module.These configurations can be set by visiting the Scheduler Properties page shown below.

3.1 Module Sections

  • Scheduler Manager : Create, Edit, Delete Tasks.
  • Scheduler Details : Shows information about the Quartz Scheduler.
  • Scheduler Log : A detailed module level log.
  • Scheduler Properties : Scheduler email configuration.
  • Scheduler Notification : Task execution monitor.

3.1.1 Scheduler Manager

This section allows users to Create new Tasks, Edit and Delete existing tasks.

3.1.2 Scheduler Details

The SchedulerQuartz scheduling module is created using Quartz scheduling Framework. This Section Allows you to see on what configurations the Quartz Scheduler is running on.

3.1.3 Scheduler Log

This section is intended for Task developers. This page contains all the log data produced in the module scope. The Scheduler log page is equipped with a tailing feature which would print latest lines of the log file in the given iteration time. To improve usability the module log is printed in reverse order to avoid scrolling. This means that all the current data from the log will be printed on top of the page.

4 Creating a new Task

Creating a new task is quite simple. Go to the Scheduler Manager page. Click on the Create Task button.

Clicking Create Task will bring a popup window which allows users to create new Tasks. Creating a new Task in the SchedulerQuartz Modules is so simplified that there is nothing to explain in this guide. A detailed explanation about creating tasks is given in the Create Task page.

5 Get details of a created Task and modifying

To get Additional information of a created task, visit the Scheduler manager page. And click on the Tasks title on which you to view additional information.

Click on the Tasks title will bring a popup window with a detailed page of that Task. To modify the Task just click the Edit Task link show in figure 8.

6.1 Scheduler Properties

Scheduler properties page contains email configuration parameters which is required in order to use the module email alert feature.

7.1 Scheduler Notification

Scheduler Notification page is intended for module users who wants to track task executions. The task tracker has the following features

  1. Search tasks by job name
  2. Search tasks by status
    1. Trigger started : Scheduler started executing trigger
    2. Trigger paused : Scheduled trigger is paused
    3. Trigger finished : Scheduler trigger finished executing
    4. Trigger ended : Scheduler trigger executed for the last time
    5. Trigger missfired : Scheduled trigger missed its execution
    6. Task started : Scheduled task started execution
    7. Task finished : Scheduled task finished execution
    8. Task failed : Scheduled task failed execution (exception)
    9. Starting mail sent : mail which indicates the triggers first execution is sent
    10. Missfired mail sent : trigger missfired mail sent
    11. Completed mail sent : trigger execution completed mail sent
  3. Search by start date
  4. Search by end date 

Created on: 8/17/09
Author: djmlog103