【问题标题】:Call Azure webjob from appservice从 appservice 调用 Azure webjob
【发布时间】:2019-12-05 09:26:51
【问题描述】:

总结

我有一个 Azure Appservice; webapi,当同时收到数百个请求时,应用服务无法快速获取它们,响应时间将超过230秒,因此出现服务器错误。但这不会发生在低于 1xx 的请求中。

核心功能:

此应用服务将请求记录到 blobstorage 并将请求正文发送到服务总线。

我的问题是

我阅读了web apps performance in Azure FAQ,如果响应超过 230 秒,它建议使用 webjob。

如何将 appservice 的请求正文发送到需要字符串数组作为输入的 webjob 控制台应用程序?

这样这个网络作业就会进行 blobstoring 和发送到服务总线(这是 appservice 的工作。)

【问题讨论】:

  • 您可以将消息放入存储队列(或服务总线队列)中,Web 作业可以监听它而不是期待输入。

标签: c# azure azure-webjobs azure-web-app-service


【解决方案1】:

您可以利用 Azure 函数向 Azure 服务总线发送消息。Azure 函数支持服务总线队列和主题的触发器和输出绑定。通过在 Azure 功能上运行,该功能也在消费层上也有助于成本优化。

关注这些讨论:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus

https://blogs.msdn.microsoft.com/benjaminperkins/2018/11/02/azure-function-service-bus/

【讨论】:

    【解决方案2】:

    您真正需要的是一种启动后台进程并在完成后获取输出的方法。

    我会这样做:

    Azure Functions + Durable Functions,由 http 请求触发。在响应中,您将收到一个用于查询状态(已完成/正在运行)的 URL。

    更多信息:https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp

    https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-create-first-csharp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      相关资源
      最近更新 更多