From 10ff4b3d2afb07790912624e400214e2b8900bc4 Mon Sep 17 00:00:00 2001 From: thepra Date: Tue, 6 Oct 2026 16:57:50 +0200 Subject: [PATCH] The crawler scenario brings mastodon.test's visit forward; the backlog after a full sweep The crawler visits one server a minute, every one PrivaPub knows, and as the pasture grew mastodon.test's turn came after the scenario stopped waiting; the scenario now makes it due at once. The backlog is regenerated after a sweep of every peer: 2581 checks pass, none fails. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw --- docs/INTEROP-BACKLOG.md | 2 +- tools/pasture/scenarios/crawler.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/INTEROP-BACKLOG.md b/docs/INTEROP-BACKLOG.md index 0102d28..a770638 100644 --- a/docs/INTEROP-BACKLOG.md +++ b/docs/INTEROP-BACKLOG.md @@ -2,7 +2,7 @@ Generated by `tools/pasture/town.sh backlog --write` from `village-20261006-090128` on 2026-10-06. Do not edit by hand: fix the cause, or record a known gap in `tools/pasture/town/gaps.json`, and generate it again. -Checks: 2577 pass, 0 fail, 1 known gaps, 0 known gaps now passing. +Checks: 2581 pass, 0 fail, 1 known gaps, 0 known gaps now passing. ## New failures diff --git a/tools/pasture/scenarios/crawler.sh b/tools/pasture/scenarios/crawler.sh index 2e9454d..113b9f1 100644 --- a/tools/pasture/scenarios/crawler.sh +++ b/tools/pasture/scenarios/crawler.sh @@ -13,6 +13,9 @@ if [ "$(crawler | j "print(any(r['robotsDisallowed'] for r in d['recent']))")" = until_true 60 'curl -fs -o /dev/null $P/build.json' fi [ "$(crawler | j "print(d['enabled'])")" = "True" ] && ok "the crawler is on" || { ko "the crawler is off: start PrivaPub with PRIVAPUB_ENV=Statistics__Crawler__Enabled=true"; return 0; } +# (it visits one server a minute, every one PrivaPub knows: as the pasture grew, mastodon.test's turn came later than the +# wait below, so its visit is brought forward) +podman exec pasture-mongo mongosh --quiet PrivaPub --eval 'db.Job.updateMany({Kind: 9, State: 0, Host: "mastodon.test"}, {$set: {RunAt: new Date()}})' >/dev/null until_true 60 '[ "$(crawler | j "print(any(r[\"host\"]==\"mastodon.test\" and r[\"lastCrawledAt\"] for r in d[\"recent\"]))")" = "True" ]' \ && ok "the crawler visited mastodon.test" || ko "the crawler never visited mastodon.test" [ "$(crawler | j "print(next(r['peersCount'] is not None for r in d['recent'] if r['host']=='mastodon.test'))")" = "True" ] \