docs: update presentation slides

This commit is contained in:
2026-06-21 15:26:24 +03:30
parent 2b0b8cb041
commit 205b44099a
4 changed files with 12 additions and 12 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -55,18 +55,7 @@ const slides = [
] ]
}, },
{ {
eyebrow: '06 / Safe Claim', eyebrow: '06 / State',
title: 'PostgreSQL Chooses the Winner',
subtitle: 'Atomic claim uses row locks and SKIP LOCKED to avoid double execution.',
image: 'images/06-claim.png',
notes: [
'The worker selects the next eligible queued job ordered by priority, available_at, created_at, and id.',
'Inside one transaction, it uses <code>SELECT ... FOR UPDATE SKIP LOCKED</code>, then marks the row running, increments attempts, and sets the lease.',
'When many threads race, one locks the row; the others skip it instead of waiting and accidentally claiming the same job.'
]
},
{
eyebrow: '07 / State',
title: 'Status Transitions Are Explicit', title: 'Status Transitions Are Explicit',
subtitle: 'The queue allows only meaningful movement between queued, running, succeeded, and failed.', subtitle: 'The queue allows only meaningful movement between queued, running, succeeded, and failed.',
image: 'images/07-state.png', image: 'images/07-state.png',
@@ -76,6 +65,17 @@ const slides = [
'When attempts are exhausted, the job becomes failed. Manual retry can move failed back to queued and resets the attempt count.' 'When attempts are exhausted, the job becomes failed. Manual retry can move failed back to queued and resets the attempt count.'
] ]
}, },
{
eyebrow: '07 / Safe Claim',
title: 'PostgreSQL Chooses the Winner',
subtitle: 'Atomic claim uses row locks and SKIP LOCKED to avoid double execution.',
image: 'images/06-claim.png',
notes: [
'The worker selects the next eligible queued job ordered by priority, available_at, created_at, and id.',
'Inside one transaction, it uses <code>SELECT ... FOR UPDATE SKIP LOCKED</code>, then marks the row running, increments attempts, and sets the lease.',
'When many threads race, one locks the row; the others skip it instead of waiting and accidentally claiming the same job.'
]
},
{ {
eyebrow: '08 / Ownership', eyebrow: '08 / Ownership',
title: 'Current Owner + Attempt Is the Write Token', title: 'Current Owner + Attempt Is the Write Token',