mulesoft批处理作业未执行



我在Runtime 4.1.5中工作,批处理作业承担同步数据的工作

如果批处理作业正常完成,日志应该如下所示:

Created instance 'dc97a040-009e-11ec-a7bf-00155d801499' for batch job 'sendFlow_Job'
splitAndLoad: Starting loading phase for instance 'dc97a040-009e-11ec-a7bf-00155d801499' of job 'sendFlow_Job'
Finished loading phase for instance dc97a040-009e-11ec-a7bf-00155d801499 of job sendFlow_Job. 1 records were loaded
Started execution of instance 'dc97a040-009e-11ec-a7bf-00155d801499' of job 'sendFlow_Job' 

批量步骤客户日志....

Finished execution for instance 'dc97a040-009e-11ec-a7bf-00155d801499'                              of job 'sendFlow_Job'. Total Records processed: 1. Successful records: 1. Failed Records: 0

=================end=======================

问题日志如下:

Created instance 'dc97a040-009e-11ec-a7bf-00155d801499' for batch job 'sendFlow_Job'
splitAndLoad: Starting loading phase for instance 'dc97a040-009e-11ec-a7bf-00155d801499' of job 'sendFlow_Job'
Finished loading phase for instance dc97a040-009e-11ec-a7bf-00155d801499 of job sendFlow_Job. 1 records were loaded
Started execution of instance 'dc97a040-009e-11ec-a7bf-00155d801499' of job 'sendFlow_Job'
=================end===================

可以清楚地看到,日志显示批作业只完成了第一阶段的工作。在此之后,批处理作业就像从未存在过一样,没有日志输出,也不会抛出任何错误。从目标数据库来看,数据确实没有同步

我在本地环境中进行了测试,问题再次出现。使用kill -9在批处理步骤执行时终止进程,然后该进程将重新启动,然后所有批处理作业都将出现问题

我在.mule文件夹中找到了批处理作业使用的队列文件。类似于BSQ-batch-job-flow-name-dc97a040-009e-11ec-a7bf-00155d801499-XXX在正常情况下,每个批处理作业将创建三个BSQ文件,并在完成时将其删除。在我的问题中,BSQ文件将被创建但不被删除

我查阅了一些帖子,他们建议删除。mule文件夹并重新启动。在实际环境中,我不知道什么时候会出现问题,删除.mule文件夹并不能完全解决批处理作业不执行的问题。有人精通批量作业吗?你能给我一些建议吗?谢谢。

不应该删除.mule目录。还有其他与批处理无关的信息会丢失,比如集群配置、持久对象存储、其他应用程序批处理和队列。在Studio嵌入式运行时中删除它可能是可以的,因为这只是您的开发环境,您可能不会丢失生产数据,但在任何情况下都不是仅删除信息的解决方案。

可能的原因太多了,找不到正确的原因,你应该提供更多的信息。我的第一个建议是确保您的Mule 4.1.5具有最新的累积补丁确保所有已知问题得到解决。注意,Mule 4.1.5已经发布了将近3年了。如果可能的话,迁移到最新的Mule 4.3.0,并附带最新的累积补丁。它应该比4.1.5更稳定,性能更好。

最新更新