Lutris EAS Scheduler Service Technology Preview

Welcome to the Lutris EAS Scheduler Service Technology Preview!

The Lutris EAS Scheduler Service is a platform service that adds scheduling capabilities to Lutris EAS. Similar to the Unix command "cron", the scheduler manages a set of jobs as task/schedule pairs. The task tells the scheduler what action to perform, and the schedule tells it when and how-often to run the task. The Scheduler Service uses the Lutris EAS logging capabilities to provide consolidated display of results and status information.

The list of jobs is initially read from the config file (enhydra-service.xml), and then persisted in the JNDI namespace. Jobs may be added or deleted via the Scheduler Admin interface, and a subset of this API is exposed via the MBean interface. An option to save the current settings is provided, which saves the current settings (any changes made with the Admin Interface) to the JNDI namespace. This allows the scheduler to restore its state when the server is restarted.

Note: As with all field test software, the Scheduler Service Technology Preview is not production quality. It's licensed for field test use only and it shouldn't be used in a production environment.

Back to Top

Overview


Getting Started

To provide an overview of the Lutris EAS Scheduler Service, a number of pre-defined sample jobs are provided.  To use the Scheduler Service and the default jobs: (more detailed information is available in the 'doc/install.txt' file)

Scheduler Admin

The Scheduler Admin provides an administration client (early access) for working with jobs. The following capabilities are currently supported:

Scheduler Management:

Job Management:

Task Types

Currently there are six task types supported by the Scheduler Service:

Schedule Types

Currently there are 4 schedule types supported by the Scheduler Service: 

Image showing the schedule types listed above

Adding Jobs

Using the Scheduler Admin UI to add jobs (Recommended):

To add a job, select 'Add a job' from the Scheduler Admin. Each job includes two components that must both be set: the schedule on which to run the task, and the task to be run.

Defining the Schedule:

Defining the Task:

The set of supported tasks is designed to be general-purpose and cover as wide a scope of possible needs as possible. If a job requires a complex task, the task code should be implemented external to the Scheduler Service and then called from one of the pre-existing tasks in the Scheduler Service. For example:

Editing the config file (recommended for experienced users only):

While it is recommended that jobs be created using the scheduler admin, jobs can also be added, deleted, and edited by directly manipulating the enhydra-service.xml file. This file is found inside the SchedulerService.jar (part of the SchedulerService.ear package), and requires the re-packaging and re-deployment of the scheduler service to take effect.

A typical job appears as:

<property-group name="job_3"> <!-- The job id. Must be unique -->
   
<property name="taskType" type="java.lang.String" value="jndi"/>
    <property name="jndiName" type="java.lang.String" value="ems:/Services/TimeManager/manager"/>
    <property name="methodName" type="java.lang.String" value="getDate"/>
    <property name="scheduleType" type="java.lang.String" value="interval"/>
    <property name="interval" type="java.lang.String" value="10000"/>
</property-group>

Saving State

To save job changes (additions and deletions), select the 'Save' button from the Scheduler Admin homepage.

Future Enhancements

Potential future enhancements for the Scheduler Service. (Please provide feedback on which are most important for you.)

  1. Ability to activity / deactivate individual tasks.
  2. Improved error handling when creating tasks/schedules/jobs.
  3. Enhanced administration (Cleaned up UI,  admin extension to LMC, capabilities, and security.)
  4. Allow editing of jobs - replace the schedule or task on the fly.
  5. Conditional tasks - i.e. check URL and if not 200, then do X.
  6. Add more schedule types, such as EveryWeekday. Use Calendar to check day of week etc....
  7. Runtime determined parameters. Such as a special code that means "the date right now" or the "hostname".
  8. Provide additional logging capabilities, such as option to assign a task it's own log channel.
  9. Allow user to force task to run.
  10. Log the last N tasks that were run.
  11. Ability to 'deploy' a task.

Back to Top

Focus Areas


We are especially interested in these areas for your feedback:

  • How you are or would like to use the Scheduler Service
  • Functionality of existing capabilities
  • Types of actions that you would like to schedule
  • Additional tasks / schedule options
  • Favorite items from the 'Future Enhancements' section
  • General comments and suggestions

Back to Top

Platform, system, and installation information


The Lutris EAS Scheduler Service requires Lutris EAS to be pre-installed on your system and has been tested to work on Windows 2000, Solaris, and Linux machines.

Installation


Refer to the doc/install.txt file for installation instructions.

How to undeploy


From the command line: 

  1. 'undeploy SchedulerService'

From the Lutris Management Console (LMC):

  1. Select the 'Deployer Tab'
  2. Expand the entry for the desired server
  3. Select 'Enterprise Applications'
  4. Select 'SchedulerService'
  5. From the menu, select 'Tools | Deployer | Undeploy Object'

Back to Top

Known Issues, Tips, and workarounds


This section summarizes common issues with this release and any available workarounds.


Issue Workaround
Tasks are not saved between server re-starts. You need to explicitly save tasks to the namespace by using 'Save' in the Scheduler Admin.
The Scheduler Thread is not automatically re-started after the server is re-started. You need to explicitly save the state of the Scheduler Thread to the namespace by using 'Save' in the Scheduler Admin.
The Scheduler Service is not displayed in LMC under 'By Type | Services'. On some systems, one needs to refresh the MBeans (Server | Refresh) in order for the service MBean to be displayed.
An exception is thrown from the Scheduler Service  on server shutdown. This can occur if a scheduled task is invoked during shutdown that depends on a component of Lutris EAS that is shut down before the scheduler service.
Why is the Scheduler Service distributed as an EAR file? The Scheduler Service and the Administration Client have been combined into a single EAR archive to simplify deployment for this technology preview (resulting in a single file to deploy.) 

Back to Top

Support


We encourage you to submit feedback/bugs and ask questions concerning your experience with the Lutris EAS product and documentation. You can post questions and participate in the Lutris EAS Beta email Forum by sending email to the lutriseas@eas.lutris.com mailing list. You can browse the Lutris EAS Beta email Forum at http://www.lutris.com/lutrisEASmail/lutriseas/maillist.html.

Note: You must first subscribe to the mailing list before posting. To subscribe, send email to mailto:majordomo@eas.lutris.com?subject=subscribe&body=subscribe lutriseas with 'subscribe lutriseas' in the body of the email message (automatically added if you click the preceding mailto link).

If you believe that you have encountered a defect in the product, please follow these guidelines:

  1. Before posting your problem report, please review the Known problems and workarounds section in the Release Notes and mailing list archives to see if your problem has already been reported along with a solution or workaround.
  2. Submit your bug report to lutriseas@eas.lutris.com. Please include your operating system and JDK versions as well as detailed steps necessary to reproduce the problem.

Note: Bug reports that cannot be reproduced by Lutris will not be reviewed by Lutris Engineering.

Back to Top


Copyright © 2001 by Lutris Technologies Inc. All rights reserved.