Add atomic task deduplication with partial unique index
- Add partial unique index for active resource-scoped tasks - Implement createTaskRunRecordAtomic for race-free task creation - Update findOrEnqueueTask to use atomic insert first - Add tests for concurrent task creation deduplication
This commit is contained in:
3
drizzle/0013_task_active_resource_unique.sql
Normal file
3
drizzle/0013_task_active_resource_unique.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS `task_active_resource_uidx`
|
||||
ON `task_run` (`user_id`, `task_type`, `resource_key`)
|
||||
WHERE `resource_key` IS NOT NULL AND `status` IN ('queued', 'running');
|
||||
Reference in New Issue
Block a user