我在 Azure 网站上运行了一个连续的 Webjob。它负责在从 QueueTrigger 检索项目后做一些工作。我正在尝试提高从队列中处理项目的速率。当我扩展我的应用服务计划时,处理速率会按预期增加。
我担心的是,仅仅为了运行我的 Webjob 的额外实例而为额外的虚拟机付费似乎是一种浪费。我正在寻找在单个服务器上运行同一 Webjob 的多个实例的选项/最佳实践。
我已经尝试在 Main() 中的单个线程中启动多个 JobHost,但要么不起作用,要么我做错了什么......由于看起来每个线程都试图访问“WebJobSdk”,Webjob 将无法运行。标记'。我当前的解决方案是多次发布我的 Webjob,每次在“webjob-publish-settings.json”中稍微修改“webJobName”,以便在发布时将同一个项目视为不同的 Webjob。到目前为止,这很好用,希望每次我需要进行任何更新时都会产生大量额外的工作。
最终,我正在寻找一些关于完成此任务的推荐方法的建议。理想情况下,我希望通过代码运行多个实例,并且只需要在需要更新代码时发布一次。
有什么想法吗?