{"slug":"cloudflare-os-workers","verification":{"valid":false,"broken_at":0,"reason":"prev mismatch"},"count":20,"sources":[{"id":"s1","type":"publisher_documentation","url":"https://developers.cloudflare.com/durable-objects/concepts/what-are-durable-objects/","title":"What are Durable Objects?","quote":"allows you to send requests to a specific object from anywhere in the world.","summary":"Defines globally unique addressing, single-threaded execution and private attached storage.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c1","c15","c3"]},{"id":"s2","type":"publisher_documentation","url":"https://developers.cloudflare.com/durable-objects/concepts/durable-object-lifecycle/","title":"Durable Object lifecycle","quote":"Currently, it is after 10 seconds of inactivity while in this state.","summary":"Documents creation, activity, hibernation eligibility, eviction and reconstruction.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c11"]},{"id":"s3","type":"publisher_documentation","url":"https://developers.cloudflare.com/durable-objects/platform/pricing/","title":"Durable Objects pricing","quote":"Durable Objects that are idle and eligible for hibernation are not billed for duration","summary":"The current request, duration, SQLite row and storage rates used in both bill calculations.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c11","c12","c6"]},{"id":"s4","type":"specification","url":"https://developers.cloudflare.com/durable-objects/api/alarms/","title":"Durable Object alarms API","quote":"Alarms have guaranteed at-least-once execution and are retried automatically","summary":"The single-alarm contract, at-least-once delivery, retry budget and constructor guard.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c6","c7","c8"]},{"id":"s5","type":"publisher_documentation","url":"https://developers.cloudflare.com/durable-objects/best-practices/websockets/","title":"Use WebSockets with Durable Objects","quote":"Allows the Durable Object to hibernate without disconnecting clients when idle.","summary":"The recommended Hibernation WebSocket API, lifecycle and event-handler conversion.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c11"]},{"id":"s6","type":"publisher_documentation","url":"https://developers.cloudflare.com/workers/platform/pricing/","title":"Cloudflare Workers pricing","quote":"10 million included per month","summary":"The ordinary Worker request and CPU allowances compared with Durable Object billing.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c12"]},{"id":"s7","type":"hn","url":"https://news.ycombinator.com/item?id=48611834","title":"Temporary Cloudflare accounts for AI agents","quote":"It's almost always better to use Durable Objects storage, rather than D1. Even if you only want a single global database, it's better to implement that as a singleton Durable Object, than by using D1.","summary":"The Workers architect states D1 is literally a singleton Durable Object wrapping SQLite, so raw DOs give you code co-located with the database and near-zero query latency. Says D1 exists mainly for familiarity, with read replicas the one remaining D1 advantage. Positive on DOs, blunt about D1.","publisher":"Hacker News","author":"kentonv","date":"2026-06-20","claim_ids":["c5"]},{"id":"s8","type":"hn","url":"https://news.ycombinator.com/item?id=48611834","title":"Temporary Cloudflare accounts for AI agents","quote":"Pages were slow due to the multiple round trips to storage on each page since Claude Code used D1. Despite repeated prompting Claude Code had no suggestions for how to improve within the CF platform.","summary":"A builder moved from D1 toward Postgres after tooling failed to surface the Durable Object design; negative evidence about discoverability.","publisher":"Hacker News","author":"chondl","date":"2026-06-20","claim_ids":["c5"]},{"id":"s9","type":"hn","url":"https://news.ycombinator.com/item?id=47787042","title":"Durable Object alarm loop: $34k in 8 days, zero users, no platform warning","quote":"My DO agent's onStart() handler called this.ctx.storage.setAlarm() on every wake-up without checking whether an alarm was already scheduled.","summary":"Pre-launch solo founder posts a full postmortem: setAlarm() called unconditionally on every DO wake-up, multiplied by 60+ preview deployments each spawning independent DO instances, peaked at ~930 billion row reads/day and produced a $34,895 invoice with zero users. No platform warning fired. Negative.","publisher":"Hacker News","author":"thewillmoss","date":"2026-04-16","claim_ids":["c6","c7"]},{"id":"s10","type":"github","url":"https://github.com/cloudflare/workerd/issues/3566","title":"🐛 BUG: Durable Object Alarms not triggering after a code reload","quote":"The alarm triggers as expected, but as soon as the code has changes and the worker reloads, then the alarm stops triggerring.","summary":"A 5-second DO alarm fires normally under wrangler dev until a hot reload, after which it silently stops even though ctx.storage.getAlarm() still shows the alarm present. Negative — alarms as a fragile primitive in the dev loop.","publisher":"GitHub — cloudflare/workerd","author":"lambrospetrou","date":"2024-05-31","claim_ids":["c9"]},{"id":"s11","type":"github","url":"https://github.com/opennextjs/opennextjs-cloudflare/issues/929","title":"[BUG] Durable Objects alarm not firing due to stale past alarms remaining in storage","quote":"no new alarm is set, creating a deadlock where","summary":"One failed alarm handler leaves a past timestamp in DO storage forever, so all later scheduling calls skip setting a new alarm and cache purges silently stop working. A permanent deadlock from a single transient failure. Negative.","publisher":"GitHub — opennextjs/opennextjs-cloudflare","author":"horai93","date":"2025-10-07","claim_ids":["c10","c7"]},{"id":"s12","type":"stackoverflow","url":"https://stackoverflow.com/questions/79336461/trying-to-use-websocket-hibernation-api","title":"Trying to use Websocket Hibernation Api","quote":"I have a Cloudflare Worker that uses Durable Objects and WebSocket. However, the costs of WebSocket are high, so I decided to implement the Websocket Hibernation API","summary":"Hit real WebSocket duration billing on Durable Objects and tried to move to the Hibernation API to cut it, then could not get the hibernation code to work at all. Negative on both DO WebSocket cost and the ergonomics of the documented fix.","publisher":"Stack Overflow","author":"Vítor Souza","date":"2025-01-07","claim_ids":["c11"]},{"id":"s13","type":"hn","url":"https://news.ycombinator.com/item?id=48946048","title":"SQLite Is All You Need","quote":"We serve multi million MAU on sqlite orchestrated through durable objects. It's not the most complex thing in the world but it goes further than CRUD. It costs us such a small amount of money for what it does.","summary":"Runs multi-million monthly-active-user traffic on SQLite inside Durable Objects and says their previous Postgres cluster was orders of magnitude more expensive. Positive, at real scale.","publisher":"Hacker News","author":"PUSH_AX","date":"2026-07-17","claim_ids":["c13"]},{"id":"s14","type":"hn","url":"https://news.ycombinator.com/item?id=47785298","title":"Show HN: I rebuilt a 2000s browser strategy game on Cloudflare's edge","quote":"DO alarms handle the time-based stuff (fleet arrivals, combat resolution, resource ticks) so there's no persistent connection cost. so far costs have been negligible","summary":"Answering a direct question about DOs being prohibitively expensive for an MMO: because the game is tick-based rather than realtime, request rate per player is single-digit-per-minute and alarms replace persistent connections, so cost is negligible. Says websockets + stateful server would be right for anything realtime. Positive with a clearly stated boundary.","publisher":"Hacker News","author":"parzivalt","date":"2026-04-15","claim_ids":["c13"]},{"id":"s15","type":"publisher_documentation","url":"https://developers.cloudflare.com/workers/configuration/cron-triggers/","title":"Cron Triggers","quote":"Cron Triggers allow users to map a cron expression to a Worker using a scheduled() handler that enables Workers to be executed on a schedule.","summary":"Why a scheduled stateless job belongs in a plain Worker rather than a Durable Object.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c2"]},{"id":"s16","type":"specification","url":"https://developers.cloudflare.com/durable-objects/best-practices/access-durable-objects-storage/","title":"Access Durable Object storage","quote":"the Durable Object itself, which runs on the same machine as the SQLite database","summary":"The front-end Worker, stub and co-located SQLite pattern used by the code walkthrough.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c16","c3","c5"]},{"id":"s17","type":"independent_measurement","url":"https://where.durableobjects.live/","title":"Where Durable Objects Live","quote":"Data displayed on this site is updated every 5 minutes.","summary":"A continuously updated independent placement tracker that creates and destroys objects around the world; the article records the measured 10.83% value.","publisher":"Where Durable Objects Live","author":"Alastair","date":"2026-07-26","claim_ids":["c4"]},{"id":"s18","type":"publisher_documentation","url":"https://blog.cloudflare.com/durable-objects-easy-fast-correct-choose-three/","title":"Durable Objects: Easy, Fast, Correct — Choose three","quote":"Durable Objects: Easy, Fast, Correct","summary":"Cloudflare's engineering explanation of how the actor model serializes work while colocating compute and state.","publisher":"Cloudflare","author":"","date":"2026-07-26","claim_ids":["c1"]},{"id":"s19","type":"runtime_receipt","url":"https://miscsubjects.com/api/durable/slug.list","title":"Production Worker and Durable Object inventory","quote":"\"count\":54","summary":"First-party repository and Wrangler inventory, plus a live registry read; exact commands and deployment timestamps are published in the article.","publisher":"miscsubjects.com","author":"","date":"2026-07-26","claim_ids":["c14","c15","c17"]},{"id":"s20","type":"runtime_receipt","url":"https://miscsubjects.com/api/durable/ping","title":"Live DirectoryDO response","quote":"\"do\":\"DirectoryDO\"","summary":"First-party live response proving the Pages Function reaches the named Durable Object and returns its stable object identity.","publisher":"miscsubjects.com","author":"","date":"2026-07-26","claim_ids":["c16","c17","c18"]}]}