Ok thanks, so effectively the alarm would run for N retries + the additional alarms set in the handl
Ok thanks, so effectively the alarm would run for N retries + the additional alarms set in the handler I guess?



/studio to the deployed instance URL.
What are Durable Objects: https://developers.cloudflare.com/durable-objects/what-are-durable-objects/
blockConcurrencyWhile is like a lock, nothing can get into your DO while that runs.blockConcurrencyWhile). Store something in your state/storage that you are doing a transaction and reject anything if that's true.blockConcurrencyWhile personally and try to avoid it.Under the hood, Alarms are implemented by making reads and writes to the storage layer. This means Alarmandgetoperations follow the same rules as any other storage operationset
alarm() {
await setAlarm() // This would be committed (and therefore overwrite the initial alarm? what happens to retries?)
await someOtherStorageOperation() // this too given no failure up until the first fetch
await fetch(...external) // Output - gates mean we now wait for previous operations to succeed
await setAnotherAlarm() // This would not be committed because of subsequent failure (write coalescing)
await triggerSomeFailure()
}