Apex スケジューラを使用したジョブのスケジュール

Posted dlywang0411

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apex スケジューラを使用したジョブのスケジュール相关的知识,希望对你有一定的参考价值。

Apex スケジューラを使用すると、Apex クラスの実行を遅らせて、指定した日時に実行できます。

まずクラスに Schedulable インターフェースを実装します。

次に、System.schedule メソッドを使用して、特定の時間に実行されるようにクラスのインスタンスをスケジュールします

このクラスは Schedulable インターフェースを実装し、このインターフェースに含まれるメソッド (execute メソッド) のみを実装する必要があります。

このメソッドのパラメータは SchedulableContext オブジェクトです。クラスがスケジュールされると、スケジュール済みジョブを表す CronTrigger オブジェクトが作成されます。このオブジェクトには、CronTrigger API オブジェクトの ID を返す getTriggerId メソッドがあります。

Schedulable インターフェースを使用してクラスを実装したら、System.Schedule メソッドを使用してこのクラスを実行します。

ユーザにそのクラスの実行権限があるかどうかにかかわらず、すべてのクラスが実行されます。

global class RemindOpptyOwners implements Schedulable
global void execute(SchedulableContext ctx)
List<Opportunity> opptys = [SELECT Id, Name, OwnerId, CloseDate
FROM Opportunity
WHERE IsClosed = False AND
CloseDate < TODAY];
// Create a task for each opportunity in the list
TaskUtils.remindOwners(opptys);


スケジュールに使用する Cron 式 についての詳細

https://developer.salesforce.com/docs/atlas.ja-jp.220.0.apexcode.meta/apexcode/apex_scheduler.htm

RemindOpptyOwners reminder = new RemindOpptyOwners();
// Seconds Minutes Hours Day_of_month Month Day_of_week optional_year
String sch = ‘20 30 8 10 2 ?‘;
String jobID = System.schedule(‘Remind Opp Owners‘, sch, reminder);

 

 

スケジュールに使用する Cron 式 についての詳細

スケジュール済み Apex を使用する場合は、結果をテストする前にスケジュール済みジョブが終了していることを確認する必要があります。

この確認には、System.schedule メソッドの前後に startTest と stopTest を再度使用して、テストを続行する前に処理が終了するようにします。

 

以上是关于Apex スケジューラを使用したジョブのスケジュール的主要内容,如果未能解决你的问题,请参考以下文章

标日第八课—词汇

python LIBSVMの学习データのスケーリングを行う。

markdown 宝石モジュールでインストールした宝石が命令未找到

css [css:all:initial] allプロパティでカスケードしまくったCSSの初期化したい。#css

markdown cron的ジョブでデータベースに系げない

markdown モジュールパターン#2