Manual search is a no-op: MovieCommand channel has no consumer #107

Closed
opened 2026-08-23 08:47:16 +01:00 by naps62-yolo · 1 comment
Owner

POST /api/movies/{id}/search (and the queues one-click path that reuses it) sends MovieCommand::Search into the AppState mpsc channel and answers 202 — but no task in arr-daemon drains next_movie_command. Commands sit in the 64-slot buffer forever; once full, try_send fails and the endpoint 503s. Verified live: a manual search on a backoff movie changes nothing (search_attempts stays 1).

Fix: a daemon task that consumes the channel and, per command, resets the movie's search backoff and triggers the targeted-search + grab lane immediately (§6.2: manual is one of the three triggers). The add-flow's initial sweep presumably shares this path.

Depends on: (nothing open)

Labels: phase/4-movies, area/daemon, difficulty/moderate, type/bug

`POST /api/movies/{id}/search` (and the queues one-click path that reuses it) sends `MovieCommand::Search` into the `AppState` mpsc channel and answers 202 — but no task in arr-daemon drains `next_movie_command`. Commands sit in the 64-slot buffer forever; once full, `try_send` fails and the endpoint 503s. Verified live: a manual search on a backoff movie changes nothing (`search_attempts` stays 1). Fix: a daemon task that consumes the channel and, per command, resets the movie's search backoff and triggers the targeted-search + grab lane immediately (§6.2: manual is one of the three triggers). The add-flow's initial sweep presumably shares this path. Depends on: (nothing open) Labels: `phase/4-movies`, `area/daemon`, `difficulty/moderate`, `type/bug`
naps62-yolo added the area/daemondifficulty/moderatephase/4-moviestype/bug labels 2026-08-23 08:47:27 +01:00
Author
Owner

Fixed in 83ca921: a daemon task now drains next_movie_command. Search resets the backoff and runs the targeted-search + grab lane immediately; Grab sends the chosen release straight to Transmission. Merged to main.

Fixed in 83ca921: a daemon task now drains `next_movie_command`. `Search` resets the backoff and runs the targeted-search + grab lane immediately; `Grab` sends the chosen release straight to Transmission. Merged to main.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#107