Scheduler

Using Omniscope Server Scheduler

Automation using an (XML) Task List of defined file actions/operations  

The Scheduler is an automation tool that comes bundled with all Omniscope Server Editions. The Scheduler is a separate mouse-driven application requiring no special commands or development skills. The Scheduler allows business users with access to the 24/7 Server (principal or spare) to define a number of highly-customisable file actions/operations according to a recurring schedule. The defined repeated operations are typically related to data refresh and manipulation/distribution of Omniscope IOK files but can involve other file types, like Excel and/or static documents like PDF and PowerPoint as well. Scheduler tasks can also include more complex solution integration actions such as archiving time-stamped 'snapshot' source files, copying a scrubbed data set to a data warehouse table for import, delivering files via e-mail or FTP or downloading and merging many .CSV files from a remote cloud source.

The Scheduler uses existing already configured Omniscope IOK files (stored 'empty' or containing 'stale' versions of the data to be refreshed from source) as templates. Template IOK files are usually configured in Desktop Omniscopes and saved configured just as the file owner wants all future refreshed versions of the files to appear. The Scheduler manages future updates to these files from the defined data source(s) according to a defined time schedule. The Scheduler can also manage distribution of the refreshed files by email or FTP them to a website, or add timestamps (for example) as part of the Task List.

Scheduler and Task List Concepts/Definitions

To configure the Scheduler, the following concepts/definitions are required:
  • An XML Action describes the file operations to be done.
  • A Task is an Action/Operation combined with a Schedule.
  • Any number of Tasks can be executed in sequence by the Scheduler according to each Task List and Schedule
  • A Schedule comprises one or more Recurrences 
    (e.g. "every 7 days, starting on {date}, ending on {date}").

Note: If you configure two Tasks with the same start time, or if a preceding Task takes a long time, the second Task will not start until the first task has finished. 

Forked execution (advanced)

The Omniscope Server Scheduler can be also be used in a "non-forked" mode enabling non-forked task execution. In the Scheduler settings dialog, "Fork scheduled execution", when un-ticked, allows scheduled tasks to execute in the same Java VM process as the Omniscope scheduling loop. This avoids the JVM startup time which can save over 10 seconds. Additionally, a timings option has been added to "chain actions" and "file actions" allowing you to analyse performance. 

The Watch folder

The Omniscope Server Scheduler includes other processes as well as the chronological scheduling loop. One of these additional processes is a separate 'watch folder' process. This process watches a user-created folder called 'watch' continuously while the Scheduler is running. Any valid Omniscope .XML Actions files dropped into this folder are executed immediately and then deleted in sequence. This allows outside software processes to drive the Omniscope Server refresh publish and distribute file operations via XML-formatted text files custom generated either manually or programatically on-demand and saved into the Watch folder. More on using the watch folder

Managing the Scheduler Task List

The Tasks currently scheduled are displayed as a Task List as above. Use the buttons at the bottom of the Scheduled Task to Add, Edit, Remove, Export and move Tasks Up and Down in the order, alphabetically Sort tasks, and Expand the Scheduled Tasks Window to see long task names.

  • Click Add to add a new Task - this will prompt you to choose a type of Action before showing the Task configuration dialog (see below)
  • Select an existing Task from the list and click Edit selected to edit it - this will show the Task dialog
  • Select an existing Task from the list and click Remove selected to delete it

 

Types of Scheduler Task List Actions: 

File Action-performs operations such as Refresh from source on designed Omniscope files 
Execute Command-executes an operating system command
Diagnostics-
Resource-copies, moves, uploads or downloads a file
Delete-deletes a file or folder
Send Email-sends an email, with optional attachment
Create Timestamp-manages timestamping of files
Chain Action-executes multiple actions with an on-fail action (e.g. open file, refresh, save copy; send email; delete file)
Wait for file-used to insert wait periods
Clear Disk Cache-manages the data caching on the server
Auto-submit bug report- Use only if advised by Visokio tech support when diagnosing a problem
Create link file- Creates an ILF file with a redirect link, for web-hosted IOK files that use the domain-locked security option, to ensure the browser does not attempt to download the IOK before opening Omniscope. 

The links below give examples of specifying useful Actions.

 Live Publishing 

Scheduled Task List - Edit Task

In this example the Action is a 'Chain of Actions' action. The Edit Task dialogue is shown below:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The Schedule section lists the recurrences configured. Here, one recurrence is defined: "Every 30 minutes". You can configure multiple recurrences, such as "Every week starting 1 Feb 13" AND "Every week starting 2 Feb 13", meaning both every Wednesday and Thursday of the week. (See the Scheduler Recurrence dialogue below)

The Time out settings can be used to ensure 'hung' uncompleted tasks do not 'hang' the Scheduler. If a Task takes longer than this period, it will be killed, allowing subsequent schedules of the same task or other tasks to continue. You may need to increase this if you are running very long and complex actions.

Scheduler Recurrence Dialogue

 

The Recurrence dialog allows you to specify a simple repetition according to a specified period of minutes, hours, or days, etc. If you want more complex schedules you must create multiple recurrences. For example, weekdays would be represented by 5 recurrences each beginning on a different weekday.

Refresh cycles should be 'nested'. Updating Omniscope files requires that the 'up-stream' linked data source for each file also beup-to-date. If you have a live database this is given, but if you are using one of more Omniscope server-side 'datamart' files as sources for distributed 'child' files, or repeatedly merging in data from changing .CSV files, be sure to schedule the update/save of the upstream  'datamart' and its linked source merge files on a more frequent refresh cycle to ensure that the Scheduler always has the newest data to refresh 'downstream' files from.

Editing Task Actions & Operations

 

 

 

Delay warning actions

 

 

 

 

============================================================== 

Enabling Logging in both Server Scheduler and Windows service  

To enable logging in either the Scheduler or the Windows service you need to edit the config.xml which is configured using the Scheduler. Note if you enable the debugging it will take effect for both the Scheduler and the Windows Service (if you have the service configured and running)

How to enable Scheduler/Windows service logging

Start the scheduler application from Start > All program, click "Editing Task, Schedules & Settings" and enable "Log Debug" and/or "Log Detail" to get more detailed logging relating to tasks being processed. Note that "Log Debug" option is used in exceptional circumstances, in most cases "Log Detail" should be sufficient. Once you have configured the settings click "Save and apply", these changes will be saved to config.xml. If you are running as a Windows service you will need to restart the Visokio Enterprise service in order for new changes to take effect. The log files are kept in the same folder as the config file (log.txt).

Windows service initialisation logging

In addtion to the Scheduler logging options above, the Windows service provides an additional logging configuration. This additional logging is helpful when you want to get more information if you are having problems with running as a service. To enable Windows Service logging modify the wrapper.conf file located in service folder in the Visokio Omniscope installation directory and then changing the wrapper.console.loglevel to either of the following options:

  • NONE - for no output.
  • FATAL - to only show fatal error messages.
  • ERROR  - to show all error messages.
  • STATUS - to show all state changes.
  • INFO  - shows all JVM output and informative messages.
  • DEBUG - shows detailed debug information.  
For example, if you wanted to change the log level to INFO you would do the following: wrapper.console.loglevel =INFO
Once you have done that restart the service for new changes to take effect. The log file for the service are kept in the same location as the wrapper.conf and is named wrapper.log