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.

2 items need attention

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 2m
2026-08-19 22:24 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-09-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 1h
2026-08-20 00:14 UTC
last 2h 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 3d ago

External APIs 7

Health of every third-party service we call. A red row means the most recent calls have been failing — usually credits, billing, or an expired key. Click the fix-it hint for the action you need to take.

ScrapeCreators (Google SERP) critical
Google search results for SERP rank checks
HTTP 500 · {"success":false,"credits_remaining":14543,"error":"internal_server_error","errorStatus":500,"message":"Google search request failed: 429"}
→ Top up credits at https://app.scrapecreators.com/dashboard
last ok 18d ago
last err 49d ago
1242 calls · 20.5% err
ScrapeCreators (Reddit visibility) ok
Comment visibility checks (active / collapsed / shadow-removed)
last ok 2m ago
last err 5d ago
18277 calls · 1.2% err
OpenAI critical
Brand name extraction (gpt-4o-mini)
→ Check billing + key rotation at https://platform.openai.com/account
last ok 3d ago
122 calls · 0.0% err
Reddit (authenticated) ok
Comment discovery + per-comment insights (views, upvotes)
last ok 2m ago
last err 2d ago
20665 calls · 4.0% 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 3d ago
last err 3d ago
308 calls · 4.2% err
magicofclothes.com (WP) ok
Pretty Links wrapper layer for FlexOffers + Sovrn deeplinks
last ok 15d ago
last err 20d ago
80 calls · 3.8% err
linkopener /__reload ok
Hot-reload slug map after creating/editing a link
last ok 15d ago
111 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 3m
85 / 668 processed
Brand-extraction backlog
posts whose brand has never been LLM-probed
0 posts
SERP-check backlog
branded posts that haven't been Google-checked yet
0 posts
Click ingestion (linkopener.db)
6s ago
latest click 6s 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 115d old; refresh export from Sovrn dashboard
23,310 rows, 115d old
StyleDean repo (filesystem)
/opt/styledean
present
Most recent successful comment poll
2026-08-19 22:19 UTC
2m ago
Most recent SERP check
2026-08-01 03:20 UTC
18d 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 #17 · 2026-08-16 04:03 · cron

checked 140 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 Cupshe · cupshe-sizing · adv 65300

Adds as: cupshe

newly eligible: Sovrn merchant 65300

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

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

newly eligible: Sovrn merchant 125542

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

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

newly eligible: Sovrn merchant 70316

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

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 #17

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 Fjallraven · fjallraven-sale

network dropped relationship: page file missing on disk

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

styledean Herman Miller · herman-miller-sale

network dropped relationship: page file missing on disk

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

styledean Rejuvenation · rejuvenation-sale

network dropped relationship: page file missing on disk

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

Audit trail · 20 recent events
  • 08-16 04:03 suggest_mint_dedup · flexoffers · nine-west — newly eligible: FO advertiser 159984 (Nine West)
  • 08-16 04:03 suggest_disable_dedup · styledean · rejuvenation-sale — network dropped relationship: page file missing on disk
  • 08-16 04:03 suggest_mint_dedup · sovrn · herman-miller-sale — newly eligible: Sovrn merchant 70316
  • 08-16 04:03 suggest_disable_dedup · styledean · herman-miller-sale — network dropped relationship: page file missing on disk
  • 08-16 04:03 suggest_disable_dedup · styledean · fjallraven-sale — network dropped relationship: page file missing on disk
  • 08-16 04:03 suggest_mint_dedup · sovrn · fjallraven-sizing — newly eligible: Sovrn merchant 125542
  • 08-16 04:03 suggest_mint_dedup · sovrn · cupshe-sizing — newly eligible: Sovrn merchant 65300
  • 08-09 04:05 suggest_mint_dedup · sovrn · herman-miller-sale — newly eligible: Sovrn merchant 70316
  • 08-09 04:05 suggest_disable_dedup · styledean · herman-miller-sale — network dropped relationship: page file missing on disk
  • 08-09 04:05 suggest_disable_dedup · styledean · fjallraven-sale — network dropped relationship: page file missing on disk
  • 08-09 04:05 suggest_mint_dedup · sovrn · fjallraven-sizing — newly eligible: Sovrn merchant 125542
  • 08-09 04:05 suggest_mint_dedup · sovrn · cupshe-sizing — newly eligible: Sovrn merchant 65300
  • 08-09 04:05 suggest_mint_dedup · flexoffers · nine-west — newly eligible: FO advertiser 159984 (Nine West)
  • 08-09 04:05 suggest_disable_dedup · styledean · rejuvenation-sale — network dropped relationship: page file missing on disk
  • 08-02 04:01 suggest_mint_dedup · flexoffers · nine-west — newly eligible: FO advertiser 159984 (Nine West)
  • 08-02 04:01 suggest_disable_dedup · styledean · rejuvenation-sale — network dropped relationship: page file missing on disk
  • 08-02 04:01 suggest_mint_dedup · sovrn · herman-miller-sale — newly eligible: Sovrn merchant 70316
  • 08-02 04:01 suggest_disable_dedup · styledean · herman-miller-sale — network dropped relationship: page file missing on disk
  • 08-02 04:01 suggest_disable_dedup · styledean · fjallraven-sale — network dropped relationship: page file missing on disk
  • 08-02 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-08-19 22:21 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