Event Handler for Complex Job Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current job scheduling techniques are limited in their ability to interrelate tasks and schedule jobs based on complex conditions, including job status changes and non-job related state changes within and outside the database, requiring users to write specific routines to detect changes and trigger job execution.
Innovation Solution
A job scheduling system that utilizes a message passing/queuing system, where events are enqueued as messages in queues, allowing users to subscribe to specific conditions and launch jobs based on scheduler-generated and user-generated events, enabling complex conditional job triggering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If current job scheduling techniques are used, then jobs can be scheduled by date/time or simple message triggers, but the system cannot handle complex conditional scheduling or interrelate tasks based on job status changes
Solution Approach 1:
The patent introduces an event handler as an intermediary component that sits between the database environment and the job scheduling system. This event handler captures job status changes and other events, converts them into standardized messages, and routes them to appropriate queues. This intermediary layer enables complex conditional scheduling without requiring the core scheduling system to become more complex, as the event handler absorbs the complexity of event detection and message routing.
Solution Approach 2:
The scheduling system is segmented into distinct functional components: event sources that generate events, an event handler that processes events, message queues that buffer and route messages, and job schedulers that execute jobs. This segmentation allows each component to specialize in specific tasks, enabling the system to handle complex scheduling scenarios while maintaining manageable complexity in each individual component.
2Adaptability or versatility
If users write specific routines to detect state changes and send messages, then complex conditional job triggering is possible, but the ease of operation decreases
Solution Approach 1:
The event handler automatically detects job status changes and other events in the database environment without requiring user-written detection routines. It self-services by capturing events, converting them into standardized messages, and routing them to appropriate queues. This eliminates the need for users to write custom detection and messaging code, significantly improving ease of operation while maintaining the ability to handle complex scheduling conditions.
Solution Approach 2:
The event handler is designed as a universal component that can handle multiple types of events (job completions, failures, state changes) and route them to different destinations based on predefined rules. This multi-functional design allows the system to handle diverse scheduling scenarios through a single standardized interface, improving ease of operation by providing a unified approach to event-driven scheduling.
3Reliability
If automatic job starting on failure is implemented, then basic error handling is provided, but the system cannot respond to complex conditions or non-job related state changes
Solution Approach 1:
The system implements a feedback mechanism where the event handler continuously monitors job status changes and other events, and this information is fed back to the job scheduling system through message queues. This feedback loop enables the system to respond to complex conditions by allowing jobs to be triggered or modified based on the current state of the system, not just simple failure conditions. The feedback mechanism supports sophisticated scheduling decisions while maintaining reliable error handling.
Data Source
AI summary
A job scheduling technique that allows jobs to be launched as a result of messages which are not targeted specifically at the job, and for jobs to be interrelated in complex ways.


