Skip to main content
  1. Projects/

Flask + Restate

Joel Hanson
Author
Joel Hanson
Building with Kafka, MCP, and event-driven systems. Sharing what I learn.

Companion examples for adding durable workflows to Flask — basic app vs Restate-backed version, both runnable with Docker Compose.

Links: GitHub · Blog post

Related

Adding Durable Execution to Flask Applications with Restate

The Challenge of Reliable Background Operations # Building web applications with Flask is straightforward until you need to handle operations that can fail. Database operations timeout, external APIs become unavailable, and network connections drop. These failures are inevitable in production systems, yet handling them gracefully often requires significant engineering effort.

From Celery to Restate: Rethinking Async Tasks in Django

The Celery Question # For years, when someone asked “How do I handle background tasks in Django?”, the answer was almost always “Use Celery”. And for good reason. Celery is mature, battle-tested, and has solved async task processing for countless Django applications. It has extensive documentation, a large ecosystem of plugins, and most Django developers have at least some experience with it.