Skip to content

PCA Resyncing Logic #668

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Nov 11, 2024
Merged

PCA Resyncing Logic #668

merged 15 commits into from
Nov 11, 2024

Conversation

shiva-menta
Copy link
Contributor

@shiva-menta shiva-menta commented Apr 24, 2024

  • Adding transaction.atomic() wrapper to webhook database calls, to reduce potential consistency errors between our StatusUpdate models and our Section model. This required modifying one of our existing test cases.
  • Modifying logic for loadstatus management command to conditionally add StatusUpdate objects to ensure consistency between the last StatusUpdate and the status attribute of the Section model. registrarimport also uses loadstatus's logic, but it currently does not add StatusUpdate objects – this can be changed easily by setting add_status_update=True.
  • Add sync_path_status management command to sync our database with path statuses in the case that OpenData's status API is inaccurate (we've historically seen this for around 4% of courses).

Copy link
Contributor

@AaDalal AaDalal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly LGTM, but left some comments I would appreciate if you could look over before you merge

@shiva-menta shiva-menta merged commit 2e82fd3 into master Nov 11, 2024
13 checks passed
@shiva-menta shiva-menta deleted the pca_resyncing branch November 11, 2024 06:36
luke-rt pushed a commit that referenced this pull request Feb 13, 2025
- Adding transaction.atomic() wrapper to webhook database calls, to reduce potential consistency errors between our StatusUpdate models and our Section model. This required modifying one of our existing test cases.
- Modifying logic for loadstatus management command to conditionally add StatusUpdate objects to ensure consistency between the last StatusUpdate and the status attribute of the Section model. registrarimport also uses loadstatus's logic, but it currently does not add StatusUpdate objects – this can be changed easily by setting add_status_update=True.
- Add sync_path_status management command to sync our database with path statuses in the case that OpenData's status API is inaccurate (we've historically seen this for around 4% of courses).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants