Bazy danych · Senior · Pytanie 11 z 75
Jak zbudować na PostgreSQL kolejkę zadań, którą bezpiecznie odpytuje wiele workerów?
SELECT id FROM jobs
WHERE status = 'queued'
ORDER BY id
FOR UPDATE SKIP LOCKED
LIMIT 1;- ✓Poprawna odpowiedź:
FOR UPDATE SKIP LOCKEDpozwala każdemu workerowi wziąć inny niezablokowany wiersz bez czekania na innych - 2Każdy worker czyta wszystkie zadania i wybiera jedno losowo
- 3PostgreSQL nie nadaje się do kolejek
Wyjaśnienie
Używają tego biblioteki pg-boss i graphile-worker. Dobrze działa przy umiarkowanej przepustowości i trzyma zadania transakcyjnie razem z twoimi danymi.