Event bus & workers
Redis Streams as ephemeral transport between services, with a standard worker framework for background jobs.
Redis is an ephemeral coordination layer — event streams, job queues, rate limiting, distributed locks, short-term cache, deduplication and workflow signals. It is never a system of record.
The streams
- market.events
- listing.events
- onchain.events
- social.events
- research.requests
- feature.requests
- scoring.requests
- position.evaluation
- execution.requests
- execution.results
- risk.events
- system.alerts
The event envelope
Every event carries a common envelope so any service can consume it:
redis event
event_id · event_type · source_service · entity_type · entity_id
occurred_at · published_at · schema_version · correlation_id
payload · retry_countWorkers
| Option | When |
|---|---|
| Dramatiq | Preferred — a lightweight Python worker architecture |
| Celery | When advanced scheduling, routing and mature tooling are needed |
| Custom async worker | Only for latency-sensitive streams |
Redis is not permanent storage
Durable truth lives in Convex, SQLite and Parquet. Redis carries events in flight — replayable and disposable.