Chapter 19. Timer Service
Business systems frequently use scheduling systems to run programs at specified times. Scheduling systems typically run applications that generate reports, reformat data, or do audit work at night. In other cases, scheduling systems provide callback APIs that can alert subsystems of events such as due dates, deadlines, etc. Scheduling systems often run batch jobs (aka scheduled jobs), which perform routine work automatically at a prescribed time. Users in the Unix world frequently run scheduled jobs using cron, a simple but useful scheduling system that runs programs listed in a configuration file.
Regardless of the software, scheduling systems are used in many different scenarios:
In a credit card processing system, credit card charges are processed in batches so that all the charges made for a block of time are settled together rather than separately. This work may be scheduled to be done in the evening to reduce the impact of processing on the system.
In a hospital or clinical system, Electronic Data Interface (EDI) software is used to send medical claims to various HMOs. Each HMO has its own processing requirements, but all of them are routine, so jobs are scheduled to gather claim data, put it in the proper format, and transfer it to the HMO.
In just about any company, managers need specific reports run on a regular basis. A scheduling system can be configured to run those reports automatically and deliver them via email to managers.
Scheduling systems ...