Count pending work: BGG's export lags, so raw queue rows lie
The card read "1 version updates" while upload said "skipping 1 already done". Both were right. Recon on the live site shows the update DID apply — the version cell reads "English first edition Year: 2012" and its radio is checked — but BGG's XML collection export still reports that collid with no version, even on a forced refresh. diff reads the API, so it re-queued finished work; the log correctly refused it. Nothing to fix in the flow: the pipeline card now counts PENDING jobs (queue rows minus what the log completed) for both to_add and to_update, reports outstanding failures rather than every failure ever logged, and when everything queued is already applied it says so and names the cause. Documented under "BGG's collection export lags the site" so the next person doesn't chase it as a bug. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
co-authored by
Claude Fable 5
parent
e44c7e1b92
commit
b5e13be335
@@ -167,3 +167,22 @@ cannot say which copy it edits. The collection table can:
|
||||
|
||||
This is strictly additive: it sets one field on one collid and cannot
|
||||
create a duplicate entry.
|
||||
|
||||
### BGG's collection export lags the site
|
||||
|
||||
After a successful update the website shows the new version immediately
|
||||
(the row's version cell reads e.g. "English first edition Year: 2012",
|
||||
and reopening the editor shows that radio checked), but the XML API's
|
||||
`/collection` export can still report the entry with no version — even
|
||||
with a cache-busting re-request. `diff` reads the API, so it will
|
||||
re-queue work that has already landed.
|
||||
|
||||
Consequences to keep in mind rather than "fix":
|
||||
|
||||
- The upload log is the authority on what this tool did; the API is the
|
||||
authority on what BGG has published. They disagree for a while.
|
||||
- `build_queue` skipping a job whose log says done is CORRECT here — the
|
||||
work is applied, and re-running it would be a no-op at best.
|
||||
- Anything user-facing should count PENDING jobs (queue rows minus what
|
||||
the log completed), never raw queue rows, or settled work reads as
|
||||
outstanding until the next diff.
|
||||
|
||||
Reference in New Issue
Block a user