0

我注意到消息的 EnqueueTimeUtc 值不准确

我正在为我的系统使用 ServiceBus 主题和订阅者

发送方使用“Microsoft.Azure.ServiceBus”Version="4.1.1" NuGet 包在 .NET 中编写使用 SendAsync() 方法将消息发送到主题

订阅者端使用 Python 编写,使用 azure.servicebus.control_client(azure-servicebus 版本 0.50.3) 使用带有 peek_lock=True 的 receive_subscription_message() 方法接收消息

当我在订阅者端收到消息时,我从收到的消息中导出了“EnqueuedTimeUtc”属性,其值为“Tue, 21 Jul 2020 08:41:37 GMT”。但是,我注意到时间不准确(比当前时间晚了约 7 秒)在发送方,我在发送消息后添加了一个日志,日志的时间戳为 '7/21/2020 08: 41:29.5047754'

发送者和订阅者都在我的本地计算机上运行,​​ServiceBus 位置是“美国西部”

我错过了什么吗?

4

1 回答 1

0

这里可能缺少的一个微妙之处是 EnqueuedTimeUTC 是由服务设置的,而不是发送者。因此,发送者和接收者时钟都可能不同(两者都来自服务,如果它们在不同的机器上,则彼此不同),因此我不会惊讶地观察到您已经注意到的有限偏斜。

全面披露,我是 Python SB SDK 的维护者之一,所以如果需要更多说明或者我遗漏了什么,请随时告诉我;我希望它有所帮助!

于 2020-08-03T20:29:35.580 回答