Allow for multiple CRONS

You would be amazed at the number of issues people have with the single cron.

In my main instance we have over 200 scheduled jobs.  They are a mix of standard, critical and huge jobs.  Some are just plain critical like Inbound EMail and some run a long time like Relationship dedups.  I cant have the Inbound Email backed up behind a job that will take an hour to run.

So I recoded ScheduledJobs to use 3 cron jobs.  I have a General queue, a EMail queue and a Heavy SQL queue and I am just about to add an integration queue for jobs that bring data into Sugar.  This allows the Inbound EMail job to run on time even if a Heavy SQL job is already running.  90% of our jobs are in the general queue.

I am able to designate from the Schedulers screen what queue the job will run in and I am able to flag any job to 'Run Next' meaning it will be the next to be picked (by any queue as run next overrides queue).  

Just to finish it out I added a module that shows the Job_Queue table so our administrators can see whats lined up to run and reorganize it if needed.

Parents Comment Children
No Data