Maintenance

One place for everything we run on a schedule and every external service we depend on. Read top-to-bottom: red is broken, yellow needs attention, green is healthy.

All systems healthy. No critical alerts.

Scheduled processes 4

Background jobs that run on a clock. The first three live inside the FastAPI process via APScheduler; the affiliate maintenance sweep runs as a separate weekly systemd timer on the VPS.

Reddit polling tick ok
Poll one batch of due comments (insights + visibility) every 5 min during waking hours. Visibility check uses authed Reddit JSON only; ScrapeCreators is reserved for the once-a-month keyword sweep.
every 5 min, 08:00-24:00 UTC
Reddit /commentstats (authed)Reddit /<thread>.json (authed)
next in 17s
2026-10-19 11:39 UTC
Monthly refresh ok
Single monthly cron: brand extraction (LLM) AND the keyword-driven SERP+JSON sweep. For each unique ranking Reddit post: authed JSON for rank/replies, then ScrapeCreators paginated comments for public visibility / shadowban detection. Cross-updates Keyword Management and Reddit Analytics.
1st of month, 03:00 UTC
OpenAI /v1/chat/completionsScrapeCreators /v1/google/searchReddit /<thread>.json (authed)ScrapeCreators /v1/reddit/post/comments (monthly shadow / public visibility only)
next in 12d
2026-11-01 03:00 UTC
Reddit comment discovery ok
Pull the latest comments from u/<REDDIT_USERNAME>'s profile feed and add new ones to the polling queue
every 4h inside the tick loop, waking hours only
Reddit /user/<u>/comments.json (authed)
next in 25m
2026-10-19 12:04 UTC
last 3h ago
Affiliate maintenance sweep ok
Check every linkopener slug against FlexOffers / Sovrn / StyleDean and queue mint/disable/enable suggestions
Sunday 04:00 UTC (systemd timer)
FlexOffers /advertisersSovrn merchants CSV (local file)StyleDean repo (filesystem)OpenAI /v1/chat/completions (brand resolution, when needed)
last 1d ago

External APIs 7

Health of every third-party service we call. Red means a live failure streak (or a missed monthly window for ScrapeCreators). Idle services with no current errors stay green — last-ok age is just metadata.

ScrapeCreators (Google SERP) ok
Monthly keyword SERP (1st of month + manual Refresh all). Not used by the 5-min tick.
last ok 10d ago
2482 calls · 20.2% err
ScrapeCreators (Reddit visibility) ok
Monthly public-thread / shadowban check on ranking posts. Not used by the 5-min tick.
last ok 10d ago
26674 calls · 11.4% err
OpenAI ok
Brand extraction for new posts (on demand / monthly). Idle stretches are normal.
last ok 1d ago
195 calls · 0.0% err
Reddit (authenticated) warn
Comment discovery + per-comment insights (views, upvotes)
HTTP 403 · thread JSON status 403
→ Refresh REDDIT_SESSION cookie in .env and restart service
last ok 4m ago
last err 4m ago
34897 calls · 3.8% err
FlexOffers API warn
Affiliate advertiser lookup + deeplink minting
HTTP 403 · {"url":"https://api.flexoffers.com:443/advertisers?ApplicationStatus=approved&Name=New+Balance&Page=1&PageSize=100&ProgramStatus=approved","operation":"GET","message":"Request frequency limit reached!"}
→ Check FLEXOFFERS_API_KEY at https://publisher.flexoffers.com/
last ok 1d ago
last err 1d ago
436 calls · 5.3% err
magicofclothes.com (WP) ok
Pretty Links wrapper layer for FlexOffers + Sovrn deeplinks
last ok 8d ago
99 calls · 3.0% err
linkopener /__reload ok
Hot-reload slug map after creating/editing a link
last ok 8d ago
140 calls · 0.0% err

Data pipelines 4

Internal queues and backlogs. These are not "broken" if they have items — they show how much work is waiting and whether anything is stuck.

Reddit polling queue
next slot in 4m
165 / 669 processed
Brand-extraction backlog
posts whose brand has never been LLM-probed
1 posts
SERP-check backlog
branded posts that haven't been Google-checked yet
0 posts
Click ingestion (linkopener.db)
15m ago
latest click 15m ago

Data freshness 4

Snapshots and external files we depend on. These drift over time (Sovrn merchant exports get stale; cookies expire) — refresh from source when they go yellow.

Sovrn approved-merchants CSV
/opt/reddit-analytics/all approved sovrn merchants.csv
file is 175d old; refresh export from Sovrn dashboard
23,310 rows, 175d old
StyleDean repo (filesystem)
/opt/styledean
present
Most recent successful comment poll
2026-10-19 11:34 UTC
4m ago
Most recent SERP check
2026-10-08 20:41 UTC
10d ago

Affiliate suggestions inbox 8 pending

The weekly affiliate-maintenance sweep queues advisory mint / disable / enable suggestions here. Nothing is applied to live links until you click Apply.

Last run #26 · 2026-10-18 04:02 · cron

checked 159 links · 4 mint suggestions · 3 disable · 0 enable

Mint (5)

Networks newly approved this brand. Apply to mint a fresh affiliate version and add it to the splitter.

sovrn Fjällräven · fjallraven-sale · adv 125542

newly eligible: Sovrn merchant 125542

detected 2026-10-18 04:02 · run #26

sovrn Cupshe · cupshe-sizing · adv 65300

Adds as: cupshe

newly eligible: Sovrn merchant 65300

detected 2026-07-26 04:00 · run #26

sovrn Herman Miller · herman-miller-sale · adv 70316

newly eligible: Sovrn merchant 70316

detected 2026-05-09 20:05 · run #26

flexoffers Maui Jim · maui-jim · adv 239898

newly eligible: FO advertiser 239898 (Maui Jim)

detected 2026-05-09 20:05 · run #13

flexoffers Nine West · nine-west · adv 159984

newly eligible: FO advertiser 159984 (Nine West)

detected 2026-05-09 20:05 · run #26

Disable (3)

Networks that no longer have a relationship for this brand. Apply to turn off the version so the splitter stops routing to it (raw URL fallback still works).

styledean Fjällräven · fjallraven-sale

network dropped relationship: page file missing on disk

detected 2026-07-26 04:00 · run #26

styledean Herman Miller · herman-miller-sale

network dropped relationship: page file missing on disk

detected 2026-07-26 04:00 · run #26

styledean Rejuvenation · rejuvenation-sale

network dropped relationship: page file missing on disk

detected 2026-07-26 04:00 · run #26

Audit trail · 20 recent events
  • 10-18 04:02 suggest_mint_dedup · sovrn · herman-miller-sale — newly eligible: Sovrn merchant 70316
  • 10-18 04:02 suggest_disable_dedup · styledean · herman-miller-sale — network dropped relationship: page file missing on disk
  • 10-18 04:02 suggest_mint · sovrn · fjallraven-sale — newly eligible: Sovrn merchant 125542
  • 10-18 04:02 suggest_disable_dedup · styledean · fjallraven-sale — network dropped relationship: page file missing on disk
  • 10-18 04:02 suggest_mint_dedup · sovrn · cupshe-sizing — newly eligible: Sovrn merchant 65300
  • 10-18 04:02 suggest_mint_dedup · flexoffers · nine-west — newly eligible: FO advertiser 159984 (Nine West)
  • 10-18 04:02 suggest_disable_dedup · styledean · rejuvenation-sale — network dropped relationship: page file missing on disk
  • 10-11 04:04 suggest_mint_dedup · flexoffers · nine-west — newly eligible: FO advertiser 159984 (Nine West)
  • 10-11 04:04 suggest_disable_dedup · styledean · rejuvenation-sale — network dropped relationship: page file missing on disk
  • 10-11 04:04 suggest_mint_dedup · sovrn · herman-miller-sale — newly eligible: Sovrn merchant 70316
  • 10-11 04:04 suggest_disable_dedup · styledean · herman-miller-sale — network dropped relationship: page file missing on disk
  • 10-11 04:04 suggest_disable_dedup · styledean · fjallraven-sale — network dropped relationship: page file missing on disk
  • 10-11 04:04 suggest_mint_dedup · sovrn · fjallraven-sizing — newly eligible: Sovrn merchant 125542
  • 10-11 04:04 suggest_mint_dedup · sovrn · cupshe-sizing — newly eligible: Sovrn merchant 65300
  • 10-04 04:01 suggest_mint_dedup · flexoffers · nine-west — newly eligible: FO advertiser 159984 (Nine West)
  • 10-04 04:01 suggest_disable_dedup · styledean · rejuvenation-sale — network dropped relationship: page file missing on disk
  • 10-04 04:01 suggest_mint_dedup · sovrn · herman-miller-sale — newly eligible: Sovrn merchant 70316
  • 10-04 04:01 suggest_disable_dedup · styledean · herman-miller-sale — network dropped relationship: page file missing on disk
  • 10-04 04:01 suggest_disable_dedup · styledean · fjallraven-sale — network dropped relationship: page file missing on disk
  • 10-04 04:01 suggest_mint_dedup · sovrn · fjallraven-sizing — newly eligible: Sovrn merchant 125542

System info

Server-side configuration and which env vars are set. A missing key here usually explains why a related external API is showing red.

Server time
2026-10-19 11:39 UTC
Waking hours (UTC)
08:00 - 00:00 UTC currently waking
Polling cycle
168h per comment
Reddit user
u/mehuly24
Env vars configured
REDDIT_SESSION
REDDIT_USERNAME
SCRAPECREATORS_API_KEY
OPENAI_API_KEY
FLEXOFFERS_API_KEY
MAGICOFCLOTHES_USERNAME
MAGICOFCLOTHES_APP_PASSWORD
LINKOPENER_ADMIN_TOKEN
STYLEDEAN_REPO_PATH