詳細情報:
プログラムによるジョブの呼び出し
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 を中止しようとします。
