perf: concurrent worker with claim/execute split + graceful shutdown
- JobRepository::claim_next() — atomic SELECT FOR UPDATE SKIP LOCKED + UPDATE status=processing in one query, no duplicate claims - ExecutePipelineHandler skips start() for already-claimed jobs - Sweep spawns N concurrent tasks via JoinSet, claims are fast+sequential, execution is slow+concurrent - Graceful shutdown: stop claiming, await all in-flight JoinSet tasks - WORKER_CONCURRENCY env (default: CPU cores) - DB_MAX_CONNECTIONS env (default: 20, was hardcoded 10) - VolumeFileResolver impl for InMemoryFileStorage (test fix)
This commit is contained in:
@@ -39,6 +39,11 @@ STORAGE_PATH=./data/media
|
||||
# ============================================================================
|
||||
# MAX_UPLOAD_BYTES=268435456
|
||||
|
||||
# ============================================================================
|
||||
# Worker concurrency (default: number of CPU cores)
|
||||
# ============================================================================
|
||||
# WORKER_CONCURRENCY=8
|
||||
|
||||
# ============================================================================
|
||||
# Trash (default 30 days before permanent purge)
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user