Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
プログラムによるジョブの呼び出し

プログラムによるジョブの呼び出し

VlocityBatchFramework メソッドを使用して、クエリのデータソース種別でスケジュール済みジョブを開始します。すべてのジョブ、複数のジョブ、または 1 つのジョブを開始できます。Integration Procedure または VlocityOpenInterface をジョブとして呼び出すこともできます。

[クエリのデータソース種別] でスケジュールされたすべてのジョブをすぐに開始するには、次のようにパラメーターを省略して匿名 Apex を使用して VlocityBatchFramework.startScheduledJobs() メソッドを呼び出します。

VlocityBatchFramework.startScheduledJobs();

[クエリのデータソース種別] を使用して 1 つのスケジュール済みジョブをすぐに開始するには、実行するジョブの ID を指定して、匿名 Apex を使用して VlocityBatchFramework.startScheduledJob() メソッドを呼び出します。次に例を示します。

VlocityBatchFramework.startScheduledJob('a3Zf4000000J81v');

クエリのデータソース種別を使用して複数のスケジュール済みジョブをすぐに開始するには、匿名 Apex を使用して VlocityBatchFramework.startScheduledJobs() メソッドを呼び出し、実行するジョブの ID のリストを指定します。次に例を示します。

VlocityBatchFramework.startScheduledJobs(new List<Id>{'a3Zf4000000J81v', 'a3Zf4000000IwIU'});

メモ
メモ 一括処理フレームワークでは、[データソース種別] の値が [入力なし]、[データ入力]、または [リスト入力] のスケジュール済みジョブの呼び出しはサポートされていません。

一括処理フレームワークでは、任意の Integration Procedure または VlocityOpenInterface をジョブとしてプログラムで呼び出すこともできます。一括処理ジョブを開始する方法は次のとおりです。

VlocityBatchFramework.startIntegrationProcedureBatch(String integrationProcedureKey, List<Object> input, new Map<String, Object> options);
VlocityBatchFramework.startOpenInterfaceBatch(String classMethod, List<Object> input, new Map<String, Object> options);

Apex から Integration Procedure ジョブを開始するには、次のコマンドを発行します。

VlocityBatchFramework.startIntegrationProcedureBatch({integration procedure key}, input list, options map);

次に例を示します。

VlocityBatchFramework.startIntegrationProcedureBatch('VlocityBatchFramework_ValidateAccountBillingStreet', accounts, new Map<String, Object>{'isInputAsList' => true, 'batchSize' => 20});

指定したクラスの invokeMethod を実行する非同期 Apex ジョブを開始するには、次のコマンドを発行します。

VlocityBatchFramework.startOpenInterfaceBatch({ Class name . method name }, input list, options map);

次に例を示します。

VlocityBatchFramework.startOpenInterfaceBatch('VlocityBatchFrameworkTestOI4.updateStatus', accounts, new Map<String, Object>{'isInputAsList' => false, 'batchSize' => 20});

Integration Procedure を実行するスケジュール済みジョブをチェーンするには、ジョブの ID を指定し、true に設定されたチェーン可能オプションを含めます。

startScheduledJobs(new Map<String, Object>{‘vlocityScheduledJobIds’ => new List<String>{‘JobId’, 'JobId2'}, new Map<String, Object>{'chainable' => true});

次に例を示します。

VlocityBatchFramework.startScheduledJobs(new Map<String, Object>{'vlocityScheduledJobIds' => new List<String>{'a3Zf4000000T7A1', 'a3Zf4000000T7A6'}}, new Map<String, Object>{'chainable' => true});

プログラムでジョブを呼び出すときに、オプションの対応付けで次のオプションを指定できます。詳細は上記を参照してください。

  • batchSize

  • chainable: Integration Procedure を含むジョブのみをチェーンできます。

  • isInputAsList

  • jobQueue

次の方法では、ジョブの実行をプログラムで管理できます。

  • getCurrentBatchJobs(): 「Aborted」、「Completed」、「Failed」以外の AsyncApexJob を返します。

  • abortBatchJobs(): "VlocityBatchFramework" という名前のすべての AsyncApexJob を中止します。

  • getScheduledBatchJob(): "VlocityScheduledJob" という名前の CronTrigger を返します。

  • abortScheduledBatchJob(): 「VlocityScheduledJob」という名前の CronTrigger を中止しようとします。

 
読み込み中
Salesforce Help | Article