Open two terminal windows:
Terminal 1 — Start the consumer (runs continuously, waiting for events):
uv run python consumer.py
The consumer will wait for events, showing:
✓ Connected to Redis at localhost:6379
✓ Connected to Teradata at <your-host>
Redis Event Consumer
==================================================
Listening on stream: events:stream
✓ Consumer group created
Waiting for events...
Terminal 2 — Run the producer (publishes events once):
uv run python producer.py
You'll see events appear in Terminal 1 as they're ingested into Teradata:
✓ Event 1: user_signup (user=101) → Teradata
✓ Event 2: user_login (user=102) → Teradata
✓ Event 3: purchase (user=103) → Teradata
✓ Event 4: user_logout (user=101) → Teradata
✓ Event 5: purchase (user=104) → Teradata
✓ Processed 5 events total
To stop the consumer, press Ctrl+C in Terminal 1.