スケジュールされた JitterBit 操作を長時間実行しているという問題に遭遇しました。データの流れを維持する必要があったので、それらを一緒にスケジュールしました。しかし、予想よりも時間がかかると、操作セットの複数のインスタンスが同時に実行されることになります。これは私のパフォーマンスを殺していました。
以下の回答に修正を入れます。
スケジュールされた JitterBit 操作を長時間実行しているという問題に遭遇しました。データの流れを維持する必要があったので、それらを一緒にスケジュールしました。しかし、予想よりも時間がかかると、操作セットの複数のインスタンスが同時に実行されることになります。これは私のパフォーマンスを殺していました。
以下の回答に修正を入れます。
この問題を解決するために、操作セットの先頭に追加のスクリプト操作を追加しました (この操作でスケジュールが実行されています)。このスクリプトは、このセット内の操作の 1 つが既に実行されているかどうかを確認するだけです。そうでない場合は、次の操作を開始します。実行中のものがある場合、それは存在し、次にスケジュールされたインスタンスまで待機します。
これは私のスクリプトのサンプルです。これは、この操作セットに元々 2 つの操作があったことを前提としています。
<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>