JitterBit一次只运行一个操作的一个实例

时间:2016-09-08 17:13:57

标签: jitterbit

我遇到了一个问题,我长时间运行已安排的JitterBit操作。我让他们安排在一起,因为我需要保持数据流动。但是,当它们花费的时间超过预期时,我会在同一时间运行多个操作集实例。这让我失去了表现。

我会在下面给出答案。

1 个答案:

答案 0 :(得分:0)

要解决此问题,我在操作集的开头添加了一个额外的脚本操作(计划在此操作上运行)。此脚本只是检查此集中的某个操作是否已在运行。如果没有,它将开始下一个操作。如果有任何正在运行的东西,它就会存在并等到下一个计划的实例。

这是我的脚本示例。这假设在此操作集中最初有两个操作。

<trans>
$isInQueue=GetOperationQueue("<TAG>Operations/OperationToCheck01</TAG>");
$isInQueue2=GetOperationQueue("<TAG>Operations/OperationToCheck02</TAG>");
$isRunning=$isInQueue[0][1];
$isRunning2=$isInQueue2[0][1];
if(($isRunning==1 && $isRunning!=Null()) || ($isRunning2==1 && $isRunning2!=Null()),
  WriteToOperationLog("Skip for now: "+$isRunning+" / "+$isRunning2);,
  WriteToOperationLog("Nothign is Running - Starting Operation Chain.");
  RunOperation("<TAG>Operations/OperationToCheck01</TAG>");
);
</trans>