0

我们正在使用 azure web job 进行批处理,当存储队列中有消息时会触发该作业。

我们已将作业配置为一一执行消息。

JobHostConfiguration config = new JobHostConfiguration();
config.Queues.BatchSize = 1;
config.Queues.MaxDequeueCount = 1;

即使该作业从存储队列中获取多条消息并并行执行。

请帮忙。

4

1 回答 1

0

从存储队列中获取多条消息并并行执行

您如何判断接收多条消息并并行执行?你有多个实例吗?

我在不同的情况下测试代码。

1)正常情况,不设置batchsize,它会拖拽队列中的所有消息。但是我认为它仍然会一个一个运行。但是从结果我认为它不会等待最后一次运行完全结束。是结果。

2)设置batchsize为1,如果你调试代码或频繁刷新队列,你会发现它确实拖了一条消息一次运行。这是结果

3) 设置batchsize为 3 并调试,它只是改变拖拽的消息号,每次拖拽 3 条消息,然后在没有设置的情况下正常运行batchsize是结果。我发现如果你只是运行 not debug ,显示的订单控制台非常有条理。

因此,如果您没有其他实例运行,我认为这是在顺序模式下工作。如果这不符合您的要求或您仍有疑问,请告诉我。

于 2018-11-29T05:54:36.657 回答