【问题标题】:Renew lock when using ServiceBus in web jobs sdk在 web 作业 sdk 中使用 ServiceBus 时更新锁
【发布时间】:2016-02-20 06:37:57
【问题描述】:

我正在使用 azure web jobs sdk 来处理消息。 ServiceBus 用于消息传递。

ServiceBus 消息中的最大锁定时间为 5 分钟,但我有长时间运行的任务需要更多时间。在这种情况下,我应该调用 BrokeredMessage.RenewLock,不幸的是,看起来我无法从 Web 作业触发器访问 BrokeredMessage(我只是获取消息内容)。

有谁知道如何在网络作业触发器中 RnewLock?

【问题讨论】:

    标签: azure azureservicebus azure-webjobs


    【解决方案1】:

    在幕后,我们在 PeekLock 模式下使用 MessageReceiver.OnMessageAsync,它会自动续订。这些由 OnMessageOptions.AutoRenewTimeout 值控制,您可以根据需要增加该值。对于 JobHost,您可以通过 ServiceBusConfiguration.OnMessageOptions 设置它来覆盖默认 OnMessageOptions,然后您可以在主机启动时将其传递给 config.UseServiceBus()。对于这些新选项,您应该使用最新的 v1.1.0 软件包,该软件包目前处于预发布 (rc1) 中,但将在一周内进行 RTM。

    在 SDK 存储库中更详细地讨论了此问题 here。建议通读一遍。最新版本还为 ServiceBus 添加了一堆可扩展点,您可以使用它们来覆盖消息的处理方式。请参阅release notes 中的“ServiceBus 消息传递改进”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多