Tins · Execution
restate
Durable execution in Mojo, via Restate. A Rust shim embeds the official Restate SDK — Rust owns the HTTP/2 endpoint, the event loop and the journal — while your handlers are Mojo, driven by a synchronous loop where every durable operation crosses one C-ABI call.
What it does
Works today
- State, sleep, run and awakeables from handle_* functions App.run finds by name
- app.serve(num_workers) runs that loop on N threads via threads-mojo's WorkerPool
- Self-calls need two or more workers: one worker has no second thread to run the callee
- Payloads are raw bytes — parse and serialize in your handler
Correctness
Checked against Two end-to-end suites against a real restate-server booted per run, on macOS and Linux