この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

FlexQueue クラス

Apex Flex キュー内の一括処理ジョブを並び替えるメソッドが含まれます。

名前空間

System

使用方法

今後の実行に対して最大 100 個の一括処理ジョブを保留状況にできます。システムリソースが使用可能になったら、Apex Flex キューの先頭からジョブが取り出され、一括処理ジョブキューに移動されます。組織ごとに、最大 5 件のキュー内のジョブまたは有効なジョブを同時に処理できます。ジョブが処理のために Flex キューから移動されると、その状況は [保留] から [キュー] に変更されます。キュー内にあるジョブは、システムが新しいジョブを処理できる状態になると実行されます。

このクラスのメソッドを使用して、Flex キュー内の Holding ジョブを並び替えることができます。

次の例では、Flex キュー内のジョブを移動し、キュー内の指定ジョブの直前に実行されるようにします。実行前に 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 = 'MyBatchClass')];
5ID jobInQueueId = a.ID;
6Boolean isSuccess = FlexQueue.moveBeforeJob(jobToMoveId, jobInQueueId);

FlexQueue のメソッド

FlexQueue のメソッドは次のとおりです。

moveAfterJob(jobToMoveId, jobInQueueId)

Flex キュー内の ID が jobToMoveId のジョブを、ID が jobInQueueId のジョブの直後に移動します。jobToMoveId をキュー内の前後に動かすことができます。キューにいずれかのジョブがない場合は、要素が見つからないことを示す例外が発生します。ジョブが移動された場合は truejobToMoveId がすでに jobInQueueId の直後にあり、順序が変わらない場合は false を返します。

署名

public static Boolean moveAfterJob(Id jobToMoveId, Id jobInQueueId)

パラメータ

jobToMoveId
型: Id
移動するジョブの ID。
jobInQueueId
型: Id
後に移動するジョブの ID。

戻り値

型: Boolean

moveBeforeJob(jobToMoveId, jobInQueueId)

Flex キュー内の ID が jobToMoveId のジョブを ID が jobInQueueId のジョブの直前に移動します。jobToMoveId をキュー内の前後に動かすことができます。キューにいずれかのジョブがない場合は、要素が見つからないことを示す例外が発生します。ジョブが移動された場合は truejobToMoveId がすでに jobInQueueId の直前にあり、順序が変わらない場合は false を返します。

署名

public static Boolean moveBeforeJob(Id jobToMoveId, Id jobInQueueId)

パラメータ

jobToMoveId
型: Id
移動するジョブの ID。
jobInQueueId
型: Id
参照基準として使用するジョブの ID。

戻り値

型: Boolean

moveJobToEnd(jobId)

指定したジョブを Flex キューの最後尾 (インデックス位置が (size - 1)) に移動します。このジョブの開始位置より後にあるすべてのジョブが 1 つずつ繰り上がります。このジョブがキューにない場合は、要素が見つからないことを示す例外が発生します。ジョブが移動された場合は true、ジョブがすでにキューの最後尾にあり、順序が変わらない場合は false を返します。

署名

public static Boolean moveJobToEnd(Id jobId)

パラメータ

jobId
型: Id
移動するジョブの ID。

戻り値

型: Boolean

moveJobToFront(jobId)

指定したジョブを Flex キューの先頭 (インデックス位置が 0) に移動します。他のすべてのジョブが 1 つずつ繰り下がります。このジョブがキューにない場合は、要素が見つからないことを示す例外が発生します。ジョブが移動された場合は true、ジョブがすでにキューの先頭にあり、順序に変更がない場合は false を返します。

署名

public static Boolean moveJobToFront(Id jobId)

パラメータ

jobId
型: Id
移動するジョブの ID。

戻り値

型: Boolean