Deluan
c2e8b39392
feat(plugins): update TaskWorker interface to return status messages and refactor task queue service
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-02-27 20:25:52 -05:00
Deluan
1974d1276e
refactor(plugins): simplify goroutine management in task queue service
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-02-27 19:32:06 -05:00
Deluan
d7ace6f95f
feat(plugins): increase maxConcurrency for task queue and handle budget exhaustion
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-02-27 19:32:06 -05:00
Deluan
a196ec9a59
refactor(plugins): streamline task queue configuration and error handling
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-02-27 19:32:06 -05:00
Deluan
132928abb6
fix(plugins): use context-aware database execution in TaskQueue host service
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-02-27 19:32:06 -05:00
Deluan
173aa9b979
refactor(plugins): remove capability check for TaskWorker in TaskQueue host service
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-02-27 19:32:06 -05:00
Deluan
3b2133c134
fix(plugins): harden TaskQueue host service with validation and safety improvements
...
Add input validation (queue name length, payload size limits), extract
status string constants to eliminate raw SQL literals, make CreateQueue
idempotent via upsert for crash recovery, fix RetentionMs default check
for negative values, cap exponential backoff at 1 hour to prevent
overflow, and replace manual mutex-based delay enforcement with
rate.Limiter from golang.org/x/time/rate for correct concurrent worker
serialization.
2026-02-27 19:32:06 -05:00
Deluan
11d2b3b51c
feat(plugins): implement TaskQueue service with SQLite persistence and workers
...
Per-plugin SQLite database with queues and tasks tables. Worker goroutines
dequeue tasks and invoke nd_task_execute callback. Exponential backoff
retries, rate limiting via delayMs, automatic cleanup of terminal tasks.
2026-02-27 19:32:06 -05:00