FlexQueue クラス
名前空間
使用方法
今後の実行に対して最大 100 個の一括処理ジョブを保留状況にできます。システムリソースが使用可能になったら、Apex Flex キューの先頭からジョブが取り出され、一括処理ジョブキューに移動されます。組織ごとに、最大 5 件のキュー内のジョブまたは有効なジョブを同時に処理できます。ジョブが処理のために Flex キューから移動されると、その状況は [保留] から [キュー] に変更されます。キュー内にあるジョブは、システムが新しいジョブを処理できる状態になると実行されます。
このクラスのメソッドを使用して、Flex キュー内の Holding ジョブを並び替えることができます。
例
次の例では、Flex キュー内のジョブを移動し、キュー内の指定ジョブの直前に実行されるようにします。ジョブを移動するため、System.FlexQueue.moveBeforeJob() メソッドをコールして両方のジョブの ID を渡します。
1ID jobToMoveId = System.enqueueJob(new MyQueueableClass());
2AsyncApexJob a = [SELECT Id FROM AsyncApexJob WHERE ApexClassId IN
3 (SELECT Id from ApexClass WHERE NamespacePrefix = null
4 AND Name = 'BatchJob')]);
5ID jobInQueueId = a.ID;
6Boolean isSuccess = FlexQueue.moveBeforeJob(jobToMoveId, jobInQueueId);FlexQueue メソッド
FlexQueue のメソッドは次のとおりです。
moveAfterJob(jobToMoveId, jobInQueueId)
Flex キュー内の ID が jobToMoveId のジョブを、ID が jobInQueueId のジョブの直後に移動します。jobToMoveId をキュー内の前後に動かすことができます。キューにいずれかのジョブがない場合は、要素が見つからないことを示す例外が発生します。ジョブが移動された場合は true、jobToMoveId がすでに jobInQueueId の直後にあり、順序が変わらない場合は false を返します。
署名
public static Boolean moveAfterJob(Id jobToMoveId, Id jobInQueueId)
戻り値
型: Boolean
moveBeforeJob(jobToMoveId, jobInQueueId)
Flex キュー内の ID が jobToMoveId のジョブを ID が jobInQueueId のジョブの直前に移動します。jobToMoveId をキュー内の前後に動かすことができます。キューにいずれかのジョブがない場合は、要素が見つからないことを示す例外が発生します。ジョブが移動された場合は true、jobToMoveId がすでに jobInQueueId の直前にあり、順序が変わらない場合は false を返します。
署名
public static Boolean moveBeforeJob(Id jobToMoveId, Id jobInQueueId)
戻り値
型: Boolean