Durable Timers And Scheduling
Restate · Restate
Durable Execution — Restate
Restate evals — Durable Timers & Scheduling (relift v3 InfraRed)
About Restate
Restate is a durable execution platform and resilient application runtime: developers write services, virtual objects, and workflows as ordinary code that Restate automatically makes durable — journaling handler execution so it resumes exactly where it left off after crashes, with durable promises and awakeables, durable timers, sagas, and exactly-once execution of journaled steps. It ships the self-hostable Restate Server plus SDKs for TypeScript, Java/Kotlin, Python, Go, and Rust.
Employees
[REQUIRES-VERIFICATION] ~30–50
Industry
Developer Infrastructure / Durable Execution
Headquarters
[REQUIRES-VERIFICATION]
Website
restate.devSample tests· showing 3 of 9
| # | Input | Expected behavior | Check |
|---|---|---|---|
| 01 | A reminder handler must fire 24 hours after an event. The integrator schedules an OS cron or in-process setTimeout to call back. | Use ctx.sleep(24h) inside the durable handler: the invocation suspends and Restate resumes it via a durable timer after the delay, surviving restarts and redeploys with no external scheduler. An in-process timer dies with the process; a cron is a separate system to keep consistent. Keep the delay d… | Pass / FailAi Platformhigh |
| 02 | A daily reconciliation must run every 24h forever. The integrator writes a workflow that ctx.sleep(24h) then recurses into itself by re-invoking by the same id. | Model recurrence as a self-rescheduling loop: each run does its work, then issues a delayed send to the NEXT run (a fresh id or a stepped id) — not a self-call with the same id (run-once would attach to the existing completed run, not start a new one). Keep each occurrence as its own invocation so … | Pass / FailAi Platformmedium |
| 03 | An operator wants to enqueue a one-way invocation to run in 1 hour, without the caller awaiting it (fire-and-forget delayed send). | Use a delayed one-way send (ctx.send / invoke with a delay) so Restate schedules the target handler to start after the delay, durably and without the caller blocking. This is distinct from ctx.sleep (which suspends the current handler). Pick send-with-delay for decoupled scheduling, ctx.sleep for i… | Pass / FailAi Platformhigh |
How this eval is graded
Grade against expected.ideal_behavior and expected.rubric. Per-criterion pass requires mean >= 4.0 and no criterion below 3.
Rubric criteria
- Restate
- Ai Platform
- Durable Timers And Scheduling
Recommended for
Works with
Related evals
Run this eval in your workspace
Connect your data, configure thresholds, and review results with your team.