VersionControl:PRs/magenta/414: Difference between revisions

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
DrivingThatTrain (talk | contribs)
cryptograss/magenta#414, as GitHub has it
DrivingThatTrain (talk | contribs)
cryptograss/magenta#414, as GitHub has it
 
Line 16: Line 16:
|deploy=
|deploy=
}}
}}
<pre class="pr-body">The last gap in the push scheme (#404, pickipedia#175, maybelle-config#279): each emergent's runner on hunter keeps its own copies of the wake's pages (`poller/wiki_rules.WikiTexts`: Cryptograss:Emergents/Wake, Cryptograss:Moods/Dials, the pronouns list) for five minutes, and the hooks on maybelle never reached them.
Now:
- The pulse carries `wiki.seq`, the newest wiki hook run's id (`services/wiki_hooks.seq`). One cheap query; the poller already asks for the pulse every second.
- `/api/wiki-hooks/?since=&lt;id&gt;` answers the runs after that id, oldest first.
- The poller (`MoodPoller.follow_wiki`, in `cycle`) asks for those runs only when the seq moves on, and forgets its copy of each changed title (`WikiTexts.forget`). The next wake reads the edit. Every change is in that log, pushed or swept, hooked or not (#404 logs a `forget` row for the rest).
- The seq is kept in the poller's state across restarts; the first look only learns where the log stands. The runs endpoint failing leaves the TTL to it and asks again next cycle.
- A line on `/wiki-hooks/` saying so.
Tests: `WikiTexts.forget`, the API's `since` and the pulse's `seq`, and three poller cycle tests (forgotten once and only when the seq moves; no texts or an older pulse asks nothing; the endpoint down asks again).
Redeploy maybelle, then hunter (the pulse first, so the poller has something to follow; the poller without it keeps the five-minute clock).
Worked on by: magent and justin, in #interfaces</pre>

Latest revision as of 16:06, 9 November 2026

magenta#414: A page changed on PickiPedia reaches hunter's poller at once, not five minutes on
State 🟣 merged 2026-11-07 02:23:13
Worked on by magent, justin
Moods #interfaces
Deploy not said
Branch wiki-push-hunter → main, by magent-cryptograss
Opened · last pushed 2026-11-06 22:57:38 · 2026-11-06 22:57:22
The last gap in the push scheme (#404, pickipedia#175, maybelle-config#279): each emergent's runner on hunter keeps its own copies of the wake's pages (`poller/wiki_rules.WikiTexts`: Cryptograss:Emergents/Wake, Cryptograss:Moods/Dials, the pronouns list) for five minutes, and the hooks on maybelle never reached them.

Now:
- The pulse carries `wiki.seq`, the newest wiki hook run's id (`services/wiki_hooks.seq`). One cheap query; the poller already asks for the pulse every second.
- `/api/wiki-hooks/?since=<id>` answers the runs after that id, oldest first.
- The poller (`MoodPoller.follow_wiki`, in `cycle`) asks for those runs only when the seq moves on, and forgets its copy of each changed title (`WikiTexts.forget`). The next wake reads the edit. Every change is in that log, pushed or swept, hooked or not (#404 logs a `forget` row for the rest).
- The seq is kept in the poller's state across restarts; the first look only learns where the log stands. The runs endpoint failing leaves the TTL to it and asks again next cycle.
- A line on `/wiki-hooks/` saying so.

Tests: `WikiTexts.forget`, the API's `since` and the pulse's `seq`, and three poller cycle tests (forgotten once and only when the seq moves; no texts or an older pulse asks nothing; the endpoint down asks again).

Redeploy maybelle, then hunter (the pulse first, so the poller has something to follow; the poller without it keeps the five-minute clock).
Worked on by: magent and justin, in #interfaces