Document the serialized media pipeline and split ETAs
This commit is contained in:
@@ -40,6 +40,13 @@ mobile draft at 390px.
|
||||
- [x] C11 preview caching: Discord-hosted image/GIF previews (WebP 320px, hash-addressed, 5 MiB
|
||||
cap, one attempt) run after every walk in both modes. Live run `...-20260916090722`:
|
||||
`previewed: 2`; thumbs served over `/api/media/<scrape>/<item>/thumb` (200).
|
||||
- [x] C44 One traffic pipeline and split ETAs. Walks and backfill batches now share a
|
||||
media-traffic lock: a walk holds it for its whole run, a batch for one batch, so the pacing
|
||||
settings bound total traffic instead of each action. Starting then immediately stopping a
|
||||
scrape now fetches nothing (tested). Backfill ETAs split into `etaStartMs` (waiting behind
|
||||
earlier jobs), `etaRunMs` (own work), and `etaTotalMs`; the Bot tab shows only the total and
|
||||
puts `starts in X \u00b7 runs for Y` in the tooltip, same for the queue totals. Tests: lock
|
||||
ordering, stop semantics, ETA ordering.
|
||||
- [x] C43 Bot-tab backfill control room and media-tab strip rules. The engine gained
|
||||
`previewBatch`/`rateLimitStatus`/`updateOptions`; a new `BackfillQueue` groups preview work per
|
||||
chat (paused and resumed scrapes of a chat combine), runs one job at a time in batches, and
|
||||
|
||||
+1
-1
@@ -283,7 +283,7 @@ replaceable.
|
||||
| GET | `/api/media/:scrapeId/:itemId/stream` | none | Playback/full-view source: the local file, or the remote URL refreshed from the source message. Supports `Range`. Non-media upstream responses (provider pages) return `415` |
|
||||
| GET | `/api/media/scrapes` | none | Every scrape with state and counters |
|
||||
| GET | `/api/media/status` | none | Slopbot connection state, the scrape list, and `limitedUntil` while a Discord cooldown holds media traffic |
|
||||
| GET | `/api/media/backfill` | none | Backfill jobs per chat with pending/cached/failed, per-kind pending, progress, throughput, ETA, totals with a Bot/Puppet split, the live settings, and `limitedUntil` |
|
||||
| GET | `/api/media/backfill` | none | Backfill jobs per chat with pending/cached/failed, per-kind pending, progress, throughput, `etaStartMs`/`etaRunMs`/`etaTotalMs`, totals with a Bot/Puppet split, the live settings, and `limitedUntil` |
|
||||
| POST | `/api/media/backfill/start` | `chatId?` | Start every job with pending rows, or one chat's job |
|
||||
| POST | `/api/media/backfill/pause` | `chatId?` | Pause all jobs, or one chat's job, after the current batch |
|
||||
| GET | `/api/media/authors` | none | Distinct posters across every scrape, with counts |
|
||||
|
||||
Reference in New Issue
Block a user