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
  • !669

Fixed #651

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Manuel Astudillo requested to merge BRPOPLPUSH into master Aug 22, 2017
  • Overview 4
  • Commits 4
  • Pipelines 0
  • Changes 13

This PR changes how jobs are moved to the same way as previous versions, i.e. uses the blocking BRPOPLPUSH command. However, in this case we use also a stalled set mechanism borrowed from BeeQueue. This mechanism does not replace the locking mechanism that we had in place, but solves a hazard due to not being able to move and lock atomically in redis. We keep the Locks because there are many subtle cases where they are necessary. Also locks help us know which worker is the one actually working on a job, which can be useful for creating UIs that show realtime job processing.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: BRPOPLPUSH