Skip to content

Improve concurrency coverage #69

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 10 commits into from
Jul 12, 2024
Merged

Improve concurrency coverage #69

merged 10 commits into from
Jul 12, 2024

Conversation

RealOrangeOne
Copy link
Owner

@RealOrangeOne RealOrangeOne commented Jul 10, 2024

Fixes #33

This PR uses EXCLUSIVE transactions on SQLite, which a task can only be claimed once, at the cost of throughput.

I've also improved the coverage for get_locked, ensuring it actually locks rows as it's expected to.

@RealOrangeOne RealOrangeOne marked this pull request as ready for review July 10, 2024 14:52
Seeing another decorator may imply there's a reason for it. As this code doesn't use SQLite, we can use the existing method.
This will only have an effect on Django 5.1+
@RealOrangeOne RealOrangeOne merged commit f9c6621 into master Jul 12, 2024
22 checks passed
@RealOrangeOne RealOrangeOne deleted the test-concurrency branch July 12, 2024 17:31
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.

Concurrency issues on SQLite
1 participant