JitterBit 运行 一次只有一个操作实例
JitterBit Run Only One Instance of an Operation at a Time
我 运行 遇到了一个问题,我已经安排了很长时间的 运行 JitterBit 操作。我将它们安排得很近,因为我需要保持数据流动。但是,当它们花费的时间比预期的要长时,我会同时处理操作集 运行 的多个实例。这正在扼杀我的表现。
我会在下面的答案中修复。
为解决此问题,我在操作集的开头添加了一个额外的脚本操作(此操作的时间表 运行)。此脚本只是检查此集合中的操作之一是否已经 运行。如果没有,则开始下一个操作。如果有任何东西 运行,它存在并等待下一个计划实例。
这是我的脚本示例。这个假设这个操作集中原来有两个操作。
<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>
我 运行 遇到了一个问题,我已经安排了很长时间的 运行 JitterBit 操作。我将它们安排得很近,因为我需要保持数据流动。但是,当它们花费的时间比预期的要长时,我会同时处理操作集 运行 的多个实例。这正在扼杀我的表现。
我会在下面的答案中修复。
为解决此问题,我在操作集的开头添加了一个额外的脚本操作(此操作的时间表 运行)。此脚本只是检查此集合中的操作之一是否已经 运行。如果没有,则开始下一个操作。如果有任何东西 运行,它存在并等待下一个计划实例。
这是我的脚本示例。这个假设这个操作集中原来有两个操作。
<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>