nbadbArena Data Lab
GuidesSet MenuDaily Updates14 waypoints

Playbook

Daily Updates

Game-day runbook for keeping nbadb current with daily, monthly, and full refreshes.

Daily Updates

This guide is the game-day operations board for keeping nbadb current once your data directory already exists.

Pick the right play

CommandUse it when…What it covers
nbadb dailyYou want the normal recurring refreshCurrent season, recent games inside the daily lookback window, plus active player/team refresh
nbadb monthlyYou need a broader sweepThe last 3 seasons
nbadb fullYou are recovering from failures or filling old gapsFailed journal entries first, then the full season range

nbadb daily is the default half-court set. Reach for monthly when you need a wider recent-history sweep, and use full when you need recovery plus gap-filling without starting from a blank slate.

Fast operator route

StepWhat you doWhy it matters
1Run the narrowest refresh that fits the needShorter possessions are easier to diagnose and rerun
2Check status and quality artifacts right after the runYou catch drift while the command context is still fresh
3Escalate from daily to monthly or full only when the symptoms demand itWider reruns cost more time and hide the original miss

What nbadb daily actually does

The daily run is more specific than “update everything.” It:

  1. Detects the current season
  2. Discovers game IDs for Regular Season and Playoffs
  3. Filters those games to now - NBADB_DAILY_LOOKBACK_DAYS (default: 7)
  4. Refreshes the active player/team universe
  5. Runs the matching extract patterns for those recent games and entities
  6. Rebuilds downstream tables in replace mode

That makes daily a strong fit for postgame refreshes and recurring automation.

Runbook by command

Daily refresh

nbadb daily

Best fit: the default recurring refresh after your first full build.

Monthly sweep

nbadb monthly

Best fit: a wider recent-history refresh across the last 3 seasons.

Full recovery + gap fill

nbadb full

Best fit: retrying failed extractions first, then scanning the full season range for missed work.

Configuration knobs that actually change the possession

SettingDefaultWhy you touch it
NBADB_DAILY_LOOKBACK_DAYS7Widen or tighten the recent-game window for daily
NBADB_DATA_DIRenvironment-dependentPoint the CLI at a different local dataset location
# Widen the recent-game window (default: 7 days)
export NBADB_DAILY_LOOKBACK_DAYS=14

# Move the working dataset somewhere else
export NBADB_DATA_DIR=/path/to/data

# Run the standard refresh play
nbadb daily

Operator cues during the run

SignalWhat it means
Textual UI appearsstdout is interactive and --verbose is not set
Plain logs appearyou passed --verbose or the run is non-interactive
--quality-check reports issueschecks ran, but reported failures are informational today
First Ctrl+Cgraceful stop request that preserves resume-safe state
Second Ctrl+Cforced exit

Scheduling the possession

A practical recurring pattern is to run after most late games have settled.

# Example: run daily at 6 AM ET
0 6 * * * cd /path/to/nbadb && nbadb daily >> /var/log/nbadb-daily.log 2>&1

What to check after the buzzer

CheckWhyEscalate when…
nbadb statusInspect pipeline metadata, journal, and watermarksstate looks stale or failed work remains queued
uv run nbadb run-quality --report-path …Capture a machine-readable quality reportfailed checks point at empty or inconsistent tables
artifacts/endpoint-coverage/*Confirm coverage artifacts when extractor/staging work changedcoverage drift appears after a supposedly good refresh

When to escalate from daily

Move up to monthly or full when you see any of these:

  • A wider season scope is needed than the daily lookback window can cover
  • Recent runs left failed journal entries behind
  • You are backfilling missed history or cleaning up a period of instability
  • Health artifacts show missing coverage or missing downstream tables after a supposedly successful refresh

Keep moving

Stay in the same possession

Keep the mental model warm with adjacent pages, section hubs, and search-friendly routes into the same topic cluster.

Section hub

On this page