Add task signature and locking when processing fetch_or_enqueue#3875
Merged
bjester merged 3 commits intolearningequality:hotfixesfrom Jan 17, 2023
Merged
Add task signature and locking when processing fetch_or_enqueue#3875bjester merged 3 commits intolearningequality:hotfixesfrom
bjester merged 3 commits intolearningequality:hotfixesfrom
Conversation
rtibbles
reviewed
Jan 15, 2023
Member
rtibbles
left a comment
There was a problem hiding this comment.
One thought about key ordering that might affect stable signature generation.
rtibbles
approved these changes
Jan 17, 2023
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.
Summary
Description of the change(s) you made
signatureto task result model, which is a hash of task name, arguments, and associated channel ID, making it a consistent value for duplicate task runssignaturefieldfetch_or_enqueuelogic to open a postgres advisory lock based off the task signature, to prevent concurrency issues resulting in duplicate tasksManual verification steps performed
References
Resolves #3836
Comments
Contributor's Checklist
PR process:
CHANGELOGlabel been added to this PR. Note: items with this label will be added to the CHANGELOG at a later timedocslabel has been added if this introduces a change that needs to be updated in the user docs?requirements.txtfiles also included in this PRStudio-specifc:
notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. icons, user-generated text)pages,components, andlayoutsdirectories as described in the docsTesting:
Reviewer's Checklist
This section is for reviewers to fill out.
yarnandpip)