-
Notifications
You must be signed in to change notification settings - Fork 17
Scheduling
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 |
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.