AngeliaScheduler™ is a simple but powerful automation tool that runs as a Windows service and allows tasks to be scheduled for unattended execution based on criteria such as date and time or the presence of a particular file. Tasks are organized into "queues", with each queue representing a serialized execution stream. Depending on the product version licensed, up to 10 queues may be created – so it is possible to have as many as 10 concurrently executing tasks (although a lower maximum can be configured to avoid saturating the host’s CPU).
Application Makeup: There are a total of 6 components (each is a separate executable) that make up the AngeliaScheduler application suite. They are:
Scheduler Service Operation: The AngeliaScheduler Service periodically scans its queue(s) for tasks that are eligible for execution. This period (known as the “System Base Polling Interval”) can be set from either the Configuration Utility or the Remote Queue Manager ("RQM"). Each queue is also configured with a queue polling interval, and is evaluated at the first service poll at which the queue’s specified polling interval has elapsed. In multi-queue configurations, this allows higher priority queues to be scanned more frequently than lower priority queues. Queues are scanned in numerical order which means that the lower numbered queues have an implicitly higher priority than higher numbered queues.
In its "Ready" state, a queue will be evaluated for possible task execution whenever its polling interval has elapsed. It is also capable of accepting new tasks for future execution. If a queue is "Held", it will not be evaluated for possible task execution but will accept new tasks. Or it may be "Disabled" in which case it will neither be evaluated nor accept new tasks.
Each queue is assigned a folder location for tasks that can be executed by that queue – and that is the only location from which tasks can be executed by that queue. More than one queue can share the same folder – or each queue can have its own. This structure means that Remote Queue Manager users need not have system access rights to this folder since the actual access rights belong to the AngeliaScheduler service’s user. This is a key security provision of AngeliaScheduler since it restricts AngeliaScheduler users to a single folder on the host -- and then allows only execution privleges.
Desktop Configuration Utility: The Desktop Configuration Utility is a 32 bit Windows application that is used to directly edit the AngeliaScheduler Configuration Database. As a result, the AngeliaScheduler Service must be stopped while the Configuration Utility is in use -- and only one instance of the Configuration Utility can be running at any one time. The Configuration Utility is used for license management and is the only tool allowed to modify certain core configuration options (such as the TCP Port used for Remote Queue Manager and Queue Monitor communications). The Configuration Utility must be run on the desktop of the AngeliaScheduler Service host system.
Remote Queue Manager: The Remote Queue Manager allows users to connect to the AngeliaScheduler service from any 32 or 64 bit Windows desktop that can reach the AngeliaScheduler Service via TCP/IP. A single TCP port is used – any legal port can be configured so avoiding existing applications is simple. The AngeliaScheduler Service can accept communications from multiple Remote Queue Manager instances simultaneously. If the AngeliaScheduler service is running under a Personal Edition license, it will only accept Remote Queue Manager connections from the local system.
A user database unique to AngeliaScheduler is maintained via the Configuration Utility and/or the Remote Queue Manager. Each user has access rights assigned that are used to permit or restrict that user from utilizing certain AngeliaScheduler functions. The Personal Edition bypasses the user database and connects using a special reserved authentication process that grants full AngeliaScheduler access rights to that user.
All communications between the Remote Queue Manager and the AngeliaScheduler service are encrypted using a robust encryption algorithm. Since the Remote Queue Manager operates in a stateless mode, there are no logical sessions maintained. Therefore, authentication occurs automatically as part of every communication between the Remote Queue Manager and the AngeliaScheduler Service.
Once connected to the AngeliaScheduler Service, Remote Queue Manager users can modify most elements of the service configuration, monitor queue status, re-arrange priorities, hold or release previously scheduled tasks, cancel unneeded tasks, terminate stalled processes (only if executed by AngeliaScheduler), modify task and queue configurations, and schedule new tasks -- all subject to access rights assigned by the service administrator.
Queue Monitor: The Queue Monitor is a simplified, read-only version of the Remote Queue Manager that uses a special reserved login when connecting to the AngeliaScheduler service host. It displays an icon in the desktop tray that indicates current host service status. Multiple instances of Queue Monitor can be run on the same desktop to show the status of multiple hosts. The Queue Monitor accepts a host name or IP Address on its command line making it easy to set up the Queue Monitor in your Startup menu.
Event Logging: The AngeliaScheduler service has an integrated event logging function that provides a useful audit trail and debugging tool. The events to be included in the log can be configured via Configuration Utility or Remote Queue Manager. A flexible log viewer is provided (AngeliaSchedLog.Exe) that allows you to select the source and severity of the events to be viewed, as well as allowing the event list to be sorted on any column.
Batch Task Submission Utility: The Batch Task Submission Utility (AngeliaSchedBTS.Exe) is included only in the Professional Edition. It allows batch tasks executed by AngeliaScheduler to submit additional batch tasks to AngeliaScheduler Queues using a simple script file to specify the task(s) to be scheduled.