I ran into an odd problem. I have a cloud service A that puts messages on the service bus queue for another cloud service B to read. Cloud service B can take about a second to process what it needs to do, and then send a message back to the queue for cloud service A. When cloud service B does this, it uses ScheduledEnqueueTimeUtc to delay about 1-10 seconds in the message.
Last Friday, the azure breakthrough completely disabled this application. When I returned it online, ScheduledEnqueueTimeUtc always causes a delay of at least 10 seconds. For example, I create a date and time that in the future will be from 1 to 10 seconds. I set this as ScheduledEnqueueTimeUtc, and I also put this time as the property of the message I am sending, and compare this datetime property with the EnqueuedTimeUtc property of the message when I get it back in cloud service A. These 2 times should be pretty close to each other , and that’s how he worked months until last Friday.
So, now cloud service B says that it queues this message in 1 second. Cloud Service A says it hasn’t been in the queue for 12-14 seconds. I use async methods when posting to queues. There is no delay if I do not use ScheduledEnqueueTimeUtc, the times are close enough when I look at them back in cloud service A. But if I set ScheduledEnqueueTimeUtc even for 1 second in the future, it does not seem to appear in the queue for 12-14 seconds .
Now I'm working on this using quartz.net to schedule messages instead of setting the ScheduledEnqueueTimeUtc property. But it’s really strange that it started.
source share