Do you have evidence of this happening? If so, can you give us code that reliably reproduces this be
Do you have evidence of this happening? If so, can you give us code that reliably reproduces this behavior so we can verify it for ourselves?
Under the hood, Alarms are implemented by making reads and writes to the storage layer. This means Alarmandgetsetoperations follow the same rules as any other storage operation
await setAnotherAlarm() does not set a new alarm, it overrides the alarm you set in the first line.state.storage.deleteAll() happens per-instance. Each user I have has an access to his/her own instance, but for some users, I no longer have access to user ID (forgot to track them...). Aren't they still going to incur a storage charge?p-limit package you used though, so maybe that's enough already.get()/put() to be able to access instance storage from another worker/DO directlysetalarm() {
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()
}await setAnotherAlarm()