shared hashes: separate background job with visible state
Cross Compile Go / build (push) Canceled after 0s

- compute duplicate-hash statistics in their own job (startup, hourly,
  on demand) so they no longer block the table stats
- single-pass query over DISTINCT (hash, addon_id), 15 min timeout
- record errors and panics; never stay stuck in a computing state
- whitelist page polls while computing, shows errors and a Recompute
  button; tab is linkable via ?tab=shared
This commit is contained in:
ilbinek committed 2026-10-04 03:16:29 +02:00
1 parent 56d9e10621
commit 748db94d55
8 files changed
+436 -127

No files matched your search

+1 -1
View File
@@ -20,7 +20,7 @@ change data must also send `X-Admin-CSRF: 1`.
| Area | Endpoints |
|---|---|
| Stats | `GET overview`, `GET overview/duplicates`, `GET traffic?from&to`, `GET top?kind=addon\|search&days` |
| Stats | `GET overview`, `GET overview/duplicates` (job state + top shared hashes), `POST overview/duplicates/refresh`, `GET traffic?from&to`, `GET top?kind=addon\|search&days` |
| Queue | `GET queue`, `POST queue/reset-stuck` |
| Addons | `GET addons?q&status&type&sort&order&limit&offset`, `GET addons/:id`, `GET addons/:id/files` |
| Addon actions | `POST addons/:id/{priority\|to-be-indexed\|reindex\|reset-indexing\|recheck\|restore}` with body `{"value": bool}`, `DELETE addons/:id`, `DELETE addons/:id/purge?confirm=<id>`, `POST bulk/addons` |