tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Spring'16のApex Flex キュー内のジョブ検索を試してみました

f:id:tyoshikawa1106:20160218141715p:plain

リリースノート


FlexQueueItem オブジェクトをクエリして、Flex キュー内の非同期 Apex ジョブの位置を検索できるようになりました。


こういう操作が必要になることがなかったのであまりわかっていませんが、次のクエリが実行できるようになったみたいです。

Flex キュー内の AsyncApexJob の位置を検索する
SELECT JobPosition FROM FlexQueueItem
        WHERE JobType = 'BatchApex' AND AsyncApexJobId = '707xx000000DABC'
特定の位置にあるジョブを検索する
SELECT AsyncApexJobId FROM FlexQueueItem
        WHERE JobType = 'BatchApex' AND JobPosition = '2'
Flex キュー内のすべての一括処理ジョブを検索する
SELECT JobType, JobPosition, AsyncApexJob.ApexClass.Name, AsyncApexJob.CreatedDate,
    AsyncApexJob.CreatedBy FROM FlexQueueItem WHERE JobType='BatchApex' AND
    AsyncApexJob.ApexClass.Name LIKE '%'BatchAJob'%' ORDER BY JobPosition DESC
注意点

FlexQueueItemオブジェクトにクエリを実行する場合、WHERE句のJobTypeを必ず指定する必要があります。
f:id:tyoshikawa1106:20160218142246p:plain


とりあえずこういうことができるようになったことは覚えておきたいと思います。