Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B bull
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 175
    • Issues 175
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OptimalBits
  • bull
  • Merge requests
  • !527

Implementation repeatable jobs. Fixes #252.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Manuel Astudillo requested to merge repeatable-jobs into v3.0.0 May 07, 2017
  • Overview 1
  • Commits 9
  • Pipelines 0
  • Changes 8

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

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: repeatable-jobs