Hãy tưởng tượng bạn có một bảng đơn giản với công việc mục:Nhận tới công việc mục trong Django với PostgreSQL
|ID |OWNER|...
+---+-----+---
|123| |...
|456| |...
|789| |...
Chúng tôi muốn cung cấp một API http để có được những công việc mục tiếp theo mà không có chủ sở hữu chưa.
Chúng tôi sử dụng PostgreSQL.
Chúng tôi truy cập bảng bằng Django-ORM.
Tôi đoán có một số điều kiện chủng tộc nếu API được nhiều người dùng truy cập đồng thời.
Làm thế nào tôi có thể đảm bảo với các công cụ đã cho (PostgreSQL, Django) rằng tất cả các điều kiện cuộc đua được giải quyết (đó là một lỗi lớn nếu một mục công việc được trao cho hai người dùng nhiều hơn).
wow, 'SKIP LOCKED' có vẻ tốt. Tôi tìm thấy bài đăng này: https://blog.2ndquadrant.com/what-is-select-skip-locked-for-in-postgresql-9-5/ giải thích chi tiết. – guettli