Azure 单个webjob中的多个触发器

Azure 单个webjob中的多个触发器,azure,azure-webjobs,azure-webjobs-triggered,Azure,Azure Webjobs,Azure Webjobs Triggered,在一个webjob中有多个触发器(blob、servicebus、timer)会降低webjob的性能吗 有没有办法通过多种触发器来提高webjob的性能 是否可以将权重较大的webjob划分为权重较小的webjob 将Azure WebJobs视为Azure应用程序服务的一项功能,以运行后台作业,如下所述 WebJobs是Azure应用程序服务的一项功能,使您能够在与web应用程序、API应用程序或移动应用程序相同的上下文中运行程序或脚本。使用WebJobs没有额外的成本 尽管它说没有额外的成

在一个webjob中有多个触发器(blob、servicebus、timer)会降低webjob的性能吗

  • 有没有办法通过多种触发器来提高webjob的性能

  • 是否可以将权重较大的webjob划分为权重较小的webjob


  • 将Azure WebJobs视为Azure应用程序服务的一项功能,以运行后台作业,如下所述

    WebJobs是Azure应用程序服务的一项功能,使您能够在与web应用程序、API应用程序或移动应用程序相同的上下文中运行程序或脚本。使用WebJobs没有额外的成本

    尽管它说没有额外的成本,但WebJob作为一个简单而有用的功能是在Azure发布其他类似且更强大的服务之前建立的,类似的功能将在同一文档中引入,如下所示

    Azure函数提供了另一种运行程序和脚本的方法。有关WebJobs和函数之间的比较,请参阅

    在上面的参考文档中,
    摘要
    部分推荐了它的最佳应用场景

    摘要

    Azure功能提供了更高的开发效率、更多的编程语言选项、更多的开发环境选项、更多的Azure服务集成选项和更多的定价选项。对于大多数情况,这是最佳选择

    以下两种情况下,WebJobs可能是最佳选择:

    • 您需要更多地控制侦听事件的代码,即JobHost对象。函数提供了在host.json文件中定制JobHost行为的有限方法。有时,您需要执行JSON文件中的字符串无法指定的操作。例如,只有WebJobs SDK允许您为Azure存储配置自定义重试策略
    • 您有一个应用程序服务应用程序,希望为其运行代码段,并希望在同一DevOps环境中一起管理它们
    对于要运行代码片段以集成Azure或第三方服务的其他场景,请使用WebJobs SDK选择Azure函数而不是WebJobs


    同时,根据我在Azure上的经验,WebJobs和函数只适用于一些简单而轻量级的任务。对于高性能要求,是在成本和易用性之间取得平衡的好选择。

    1。单个webjob中有多个触发器(blob、servicebus、timer)会降低webjob的性能吗? 前提是您的webjob不是单一用户。您可以在webjob中使用多个触发器执行多个功能,并且性能不会降低。(前提是您的webapp计划足够强大,能够处理所有负载。)

    2.有没有办法通过多种触发器来提高webjob的性能- 最好的方法是将webjob划分为更小的webjob,每个webjob都有一个触发器。并根据负载扩展webjobs(添加更多实例)。此外,如果您的webjob在5分钟内执行,您也可以选择使用Azure Function应用程序。这是一个更好的选择。或者,假设webjob执行需要5分钟以上,您可以将webjob exe作为docker映像,并使用logic app on demand使用ACI进行配置。在此场景中,您将在logic app中配置触发器


    1。是否可以将权重较大的webjob划分为权重较小的webjob-是的,请参阅我以前的答案

    到目前为止你试过什么?你已经测量了什么吗?@Peter是的,我通过负载测试测量了性能,随着用户数量的增加,性能似乎在下降。这可能是什么原因?是因为webjob体积庞大吗?有这样的webjob的最佳实践是什么?这取决于它做什么以及如何做。你能分享一些相关的代码吗?您可以将webjob拆分为多个azure函数,每个函数都有自己的触发器。欢迎使用。如果您还有任何疑问,请随时提问。我的应用程序中运行着3个不同的后台任务,比如每5分钟1个,每小时1个,每天特定时间1个。是否可以向单个web作业添加多个计时器触发器,或者我需要创建3个不同的web作业来实现此目的?我建议您创建3个具有不同计时器触发器的logic app,并通过logic app调用您的web作业。据我所说,这是更可配置的,因为如果您将来需要更改计时器,您可以通过logic应用程序来完成,而不需要部署任何代码。这肯定很有效。