This is the initial implementation of repeatable jobs. It exploits customIds so that only one repetition according to the cron expression is made, works with multiple workers, etc. For every repetition a job is created with a custom Id that is generated from the next milliseconds where the job should be processed. When a repeatable job is moved to active, the repeat option is checked and a new job is added to the delay set according to the cron specification. It is implemented as a separate repeat method, but I will change this to just a new option in the queue##add method (the repeat option), so that we can combine all previous options such as removeOnComplete, retries, etc. The implementation is quite simple, still we should be able to support all use-cases from https://github.com/rschmukler/agenda