mesos / chronos

Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules
http://mesos.github.io/chronos/
Apache License 2.0
4.39k stars 529 forks source link

improve flexibility of job scheduling trigger #653

Open RockScience opened 8 years ago

RockScience commented 8 years ago

The documentation says "Chronos has a number of advantages over regular cron. It allows you to schedule your jobs using ISO8601 repeating interval notation, which enables more flexibility in job scheduling."

However the ISO8601 interval notation is far from being flexible. (or its usage should be extended/improved)

Exemples: 1) schedule a script MON to FRI, at 4pm and 7pm 2) schedule a script every 10 minutes between 10am and 11am, and every one hour between noon and 5pm

For a true 'flexible' schedule methods, you can check for instance https://quartz-scheduler.org/generated/2.2.1/html/qs-all/#page/Quartz_Scheduler_Documentation_Set%2Fco-abt_quartz_features.html%23

Job Scheduling Jobs are scheduled to run when a given trigger occurs. Triggers can be created with nearly any combination of the following directives: At a certain time of day (to the millisecond) On certain days of the week On certain days of the month On certain days of the year Not on certain days listed within a registered Calendar (such as business holidays) Repeated a specific number of times Repeated until a specific time/date Repeated indefinitely *Repeated with a delay interval

Rob-Johnson commented 8 years ago

We've implemented Cron support along with a few other changes in our fork at Yelp/chronos but it'll be difficult to merge as is with the recent changes made to the core scheduler - @brndnmtthws would you be keen on getting this merged if we work together on bringing the fork in line?

brndnmtthws commented 8 years ago

@Rob-Johnson I think that would be absolutely fantastic!

eodgooch commented 7 years ago

+1

ghost commented 7 years ago

+1, ASAP, please :-)

solarkennedy commented 5 years ago

As an update, after the large set of changes for Chronos 3, we did not spend the time to refactor the cron changes in our fork. Additionally, we are no longer using Chronos at Yelp, so I'll be archiving the Yelp fork.