sql >> Database teknologi >  >> RDS >> PostgreSQL

Kø i php og postgres

Som skrevet vil en anden arbejder, der forsøger at gøre krav på jobbet, blokere ved forespørgsel 1. Den kan se den gamle version af rækken, men kan ikke opdatere den - den ville blokere.

Så gør det ikke i en enkelt transaktion. Gør krav og forpligt dig; gøre arbejdet; derefter løse og forpligte. Alle arbejdere, der kommer med, vil se, at rækken allerede er gjort krav på. Også dig kan se, at det er påstået, hvilket vil hjælpe dig med fejlfinding og overvågning.

Når du gør krav på rækken, skal du markere med noget karakteristisk (en pid, hvis der kun er én arbejdermaskine, eller et værtsnavn og pid, hvis der er flere) i stedet for blot med 'igangværende'. På den måde, hvis en arbejder dør, kan du manuelt rydde op efter den.



  1. Find poster, hvor join ikke findes

  2. Hvordan rydder du SQL Server-transaktionsloggen?

  3. Hvordan sender man en hel række (i SQL, ikke PL/SQL) til en lagret funktion?

  4. Cloud 9 IDE kan ikke oprette forbindelse til databasen