Skip to content

Scheduling

Stuart Morse edited this page Feb 9, 2022 · 11 revisions

Jorel event summary

The following table outlines all Jorel events and their scheduling requirements. Each Jorel instance runs every 30 seconds and checks the events table to further refine the schedule. All schedules limit execution to certain days of the week using the frequency column of the events table. This has the format mtwtfss. Days can be skipped by substituting a dash for the single-character day abbreviation.

Events are selected for processing based on the value of the lastFtpRun column of the Events table using the following statement, where process is the name of the Jorel instance that performs the task. The name of that field is a misnomer based on legacy functionality:

from EventsDao e where e.process=:process and e.lastFtpRun <> :runDate

This restricts the execution of a particular event to those that have not run on the current date. All events with a schedule other than once per day must fudge this approach to provide the desired behaviour. This is usually done by setting the value of lastFtpRun to something other than a date.

Event Type Description Schedule
Alert Sends alert emails detailing recent news Every 30 seconds
Archiver Creates a directory of old content for writing to CD Once per day
Autorun Runs reports, and sends them by email, automatically Every 30 seconds
Capture Begins the capture of audio/video and manages the extraction of clips Every 30 seconds
Channelwatcher Posts social media content as news items (obsolete) Every 30 seconds
Cleanbinaryroot Deletes old binary content from storage as per licensing terms Once per day
Expire Expires old news items as per licensing terms Once per day
Expire3GP Deletes old mpg and 3gp files from storage as per licensing terms Once per day
HTML Generates custom HTML and stores it in the database Once per day
LDAP Extracts and stores all email addresses from AD repo Once per week
Monitor Imports new newspaper content from files provided by a publisher Every 30 seconds
Pagewatcher Monitors web pages of interest for changes Once per day
PLSQL Executes an Oracle PLSQL statement Once per day
RSS Imports news items from an RSS feed Every 30 seconds
Shellcommand Execute a shell command on a target server (kill capture only) Once per day
Sync Synchronize the full-text index with the latest news items Every 30 seconds
Syndication Imports news items from the Canadian Press news feed Every 30 seconds

Event-type based scheduling

Some events require schedules with large numbers of entries. The TNO developers decided to separate these events from the events table and create a child table to contain the individual instances of the event. This approach is followed by the clip and alert events.

Clone this wiki locally