I was trying to see what makes Chronos better than Crons? I am not able to understand its job scheduling and executing architecture completely.
Specifically, these are the questions around chronos architecture that are not clear to me.
- In one of the Chronos documentation I read that since crons has SPoF, crons are bad and cronos is better. How chronos avoids SPoF?
- Where are job schedules saved in Chronos? Does it maintain some sort of DB for that?
- How scheduled jobs are triggered, who sends an event to Chronos to trigger the job?
- Are dependent jobs triggered by chronos, if yes how chronos even know when the parent job is completed? Can it distinguish failed jobs from completed ones?
- I saw that jobs in chronos are defined using Json format, any reason for using JSON and not any other format like YAML, Apache Config etc.
- Can a job in chronos have multiple commands? If yes will all these different commands be executed on same machine in cluster or Chronos can even launch different commands in a job in different machines in cluster? Can these multiple commands inside job be launched in parallel?
- If mesos already has a scheduling capability then why Chronos is even required? Can Chronos run without Mesos?
- Does Chronos support event based scheduling? For example run my job when file 'x' is created etc.
- What does async run of a job mean in Chronos?
Anyone have a good reference for understanding the architecture of Chronos?