ule子-批处理作业同步或异步

时间:2019-05-24 18:28:17

标签: asynchronous mule batch-processing synchronous flow

我有两个不同流程的批处理作业。首先,在Salesforce中进行Upsert,完成后,调用具有另一个批处理作业的第二个流程。

此图代表流程:

enter image description here

但是当我在控制台上看到日志时,有时第二批的日志与第一批的日志混合

我感觉到批处理过程是异步的,即使正在处理第一个批处理,第二个批处理也会被调用。

我错了吗?我应该注意日志的顺序吗? 如果我希望它完全同步,什么是最好的方法?

2 个答案:

答案 0 :(得分:1)

是,批处理作业是异步的。批处理execute一经触发,流程就会转到下一个事件处理器。

如果批处理作业2仅需要在批处理作业1之后运行,那么您可以使用第一个批处理作业的on-complete阶段来触发一些事件,以指示第一个工作已完成,从而可以用来触发第二批作业。

或者,如果批处理作业密切相关,则可以使用多个批处理step将它们合并为一个

答案 1 :(得分:1)

M子批处理是异步的,就像一劳永逸。如果要在第一个批次完成后调用第二个批次,请在第一个批次的“完成”阶段调用第二个批次,如下图所示。

enter image description here

如果要在调用第二个批处理之前执行某些功能,则需要使用request-reply范围使批处理组件同步。

enter image description here