我创建了一个简单的 azure 网络作业,它从传入的网站中获取一些数据,解析它并将其添加到数据库中。
这只是一个接受参数的简单控制台应用程序(.exe 文件)。并将其上传到 Azure 上的 Web 应用程序。
但是,我的印象是这个网络作业会根据需要多次启动和完成。因此,如果我依次向 webjob 发出 3 个命令,最终会得到 3 个 webjob 实例同时运行。
但是,这不起作用。我只能让它运行一次。其他两个命令失败。是否可以在单个 Web 应用程序中拥有单个 Web 作业并让它同时运行,同时处理不同内容的同一个 Web 作业也在运行?
最佳答案
根据我的经验,触发的 WebJob 无法同时运行。
我的建议是,不要手动触发作业,而是将其设为监听队列的连续 WebJob。然后发送一条队列消息,其中包含您想要的每次运行的参数。连续队列监听作业可以并发运行。
您需要稍微修改作业。它必须运行作业主机,而不是在启动时触发逻辑,并且您必须将逻辑移至队列触发的函数。
关于azure - 从单个 Web 应用程序同时运行同一 Azure WebJob 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601938/