Background job processing framework
AssigneeNasdaq, Inc.
InventorSanthosh Philip George
Life of this patent
Estimating the term…
Abstract
The described technology relates to scheduling jobs of a plurality of types in an enterprise web application. A processing system configures a job database having a plurality of job entries, and concurrently executes a plurality of job schedulers independently of each other. Each job scheduler is configured to schedule for execution jobs in the jobs database that are of a type different from types of jobs others of the plurality of job schedulers are configured to schedule. The processing system also causes performance of jobs scheduled for execution by any of the plurality of schedulers. Method and computer readable medium embodiments are also provided.
Claims16
A server system for scheduling jobs of a web application, comprising:
- at least one memory;
- and
- a processing system having at least one processor, the processing system being configured to perform operations comprising:
- spawning a plurality of job schedulers by a single process during a startup of a web application, wherein each of the plurality of job schedulers is implemented as an agent having a thread pool;
- configuring, in the memory, a job database having a plurality of job entries having different job types;
- concurrently executing the plurality of job schedulers independently of each other, each job scheduler configured to schedule for execution of jobs in the job database that are of a particular type different from other types of jobs others of the plurality of job schedulers are configured to schedule, wherein the plurality of schedulers include an on-demand scheduler operating to schedule jobs of a first type according to an on-demand basis, a short-interval scheduler operating to schedule jobs of a second type occurring repetitively at intervals of less than a predetermined duration, and a scheduled-job scheduler operating to schedule jobs of a third type at predetermined specific times or at intervals greater than the predetermined duration;
- and
- causing performance of jobs scheduled for respective execution by each of the plurality of schedulers.
A method for scheduling jobs of a web application comprising:
- spawning, on a processing system having at least one processor, a plurality of job schedulers by a single process during a startup of a web application, wherein each of the plurality of job schedulers is implemented as an agent having a thread pool;
- configuring, in a memory communicably coupled to the processing system a job database having a plurality of job entries having different job types;
- concurrently executing, on the processing system, the plurality of job schedulers independently of each other, each job scheduler configured to schedule for execution of jobs in the database that are of a particular type different from other types of jobs others of the plurality of job schedulers are configured to schedule, wherein the plurality of schedulers include an on-demand scheduler operating to schedule jobs of a first type according to an on-demand basis, a short-interval scheduler operating to schedule jobs of a second type occurring repetitively at intervals of less than a predetermined duration, and a scheduled-job scheduler operating to schedule jobs of a third type at predetermined specific times or at intervals greater than the predetermined duration;
- and
- causing performance of jobs scheduled for respective execution by each of the plurality of schedulers.
A non-transitory computer readable storage medium having stored thereon instructions which, when executed by a processing system having at least one processor, causes the processing system to perform operations for scheduling jobs of a web application comprising:
- spawning, on the processing system, a plurality of job schedulers by a single process during a startup of a web application, wherein each of the plurality of job schedulers is implemented as an agent having a thread pool;
- configuring, in a memory communicably coupled to the processing system, a job database having a plurality of job entries having different job types;
- concurrently executing the plurality of job schedulers independently of each other, each job scheduler configured to schedule for execution of jobs in the job database that are of a particular type different from other types of jobs others of the plurality of job schedulers are configured to schedule, wherein the plurality of schedulers include an on-demand scheduler operating to schedule jobs of a first type according to an on-demand basis, a short-interval scheduler operating to schedule jobs of a second type occurring repetitively at intervals of less than a predetermined duration, and a scheduled-job scheduler operating to schedule jobs of a third type at predetermined specific times or at intervals greater than the predetermined duration;
- and
- causing performance of jobs scheduled for respective execution by each of the plurality of schedulers.
Dependencies are inferred from the claim text.