[SE-4304] [SE-4495] feat: add celerybeat configuration#171
Merged
gabor-boros merged 1 commit intoesme-release/koa.3from Jul 14, 2021
Merged
[SE-4304] [SE-4495] feat: add celerybeat configuration#171gabor-boros merged 1 commit intoesme-release/koa.3from
gabor-boros merged 1 commit intoesme-release/koa.3from
Conversation
The current implementation of celerybeat usage works properly if and only if one concurrent worker process runs per queue using the nested beat process started by the `--beat` flag. In case the the celerybeat process is running as a separate process not as part of the workers, that partially solves the problem. Either in that case, if multiple instances are running in a cluster, without proper process supervising across instances will result in (at least) dumplicated scheduling, meaning that the scheduler will cause more work for the workers and results will be duplicated. Taking the above into consideration, to solve this issue, this commit introduces single-beat package that wraps the celerybeat process and keeps track of the process that acquired the lock in redis. In case one of the instances get killed or the locking process crashes, the lock refactor: use boolean flag to enable or disable celery beat Co-authored-by: Joseph Mulloy <jdmulloy@users.noreply.github.com> refactor: use boolean flag to enable or disable celery beat Co-authored-by: Joseph Mulloy <jdmulloy@users.noreply.github.com> Unindent a few entries that needd to be unindented (openedx-unsupported#6450) (openedx-unsupported#6467) (cherry picked from commit 945fe9d) Co-authored-by: Chris Pappas <christopappas@users.noreply.github.com>
This was referenced Jul 12, 2021
Merged
Closed
nizarmah
approved these changes
Jul 14, 2021
nizarmah
left a comment
There was a problem hiding this comment.
👍
- I tested this by testing open-craft/openedx-platform#374.
- I made sure the cherry-picked commit mentions the commit is was cherry-picked from.
-
I checked for accessibility issues -
Includes documentation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The current implementation of celerybeat usage works properly if and
only if one concurrent worker process runs per queue using the nested
beat process started by the
--beatflag. In case the the celerybeatprocess is running as a separate process not as part of the workers,
that partially solves the problem. Either in that case, if multiple
instances are running in a cluster, without proper process supervising
across instances will result in (at least) dumplicated scheduling,
meaning that the scheduler will cause more work for the workers and
results will be duplicated.
Taking the above into consideration, to solve this issue, this commit
introduces single-beat package that wraps the celerybeat process and
keeps track of the process that acquired the lock in redis. In case one
of the instances get killed or the locking process crashes, the lock
refactor: use boolean flag to enable or disable celery beat
Co-authored-by: Joseph Mulloy jdmulloy@users.noreply.github.com
refactor: use boolean flag to enable or disable celery beat
Co-authored-by: Joseph Mulloy jdmulloy@users.noreply.github.com
Unindent a few entries that needd to be unindented (openedx-unsupported#6450) (openedx-unsupported#6467)
(cherry picked from commit 945fe9d)
Co-authored-by: Chris Pappas christopappas@users.noreply.github.com
Configuration Pull Request
Make sure that the following steps are done before merging
configuration-securerepo?