Apexをスケジュール実行する方法
Winter '10 API バージョン17.0から、Apexをスケジュール実行できるApex Schedulerが利用できるようになりました。これはかなり便利。
画面からの設定だと、「1日に1回しかスケジューリングできない」「1時間単位でしかスケジューリングできない」といった制約はありますが、これがあれば、日次バッチや週次バッチが作れちゃいます。
やり方は簡単。ApexクラスにSchedulableインタフェースのexecuteメソッドを実装するだけです。executeメソッドの中にスケジュール実行させたい処理を記述します。
実装例はこちら↓
global class HogeClass implements Schedulable {
global void execute(SchedulableContext sc) {
// スケジュール実行させたい処理
}
}
後は、このクラスをスケジューリング設定してあげれば完了です。
「アプリケーションの設定」→「開発」→「Apexクラス」→「Apexをスケジュール」を押下すると、こんな画面↓になるので、先ほど作ったクラスを「Apexクラス」に設定してあげて下さい。
ここで、「Apexクラス」には、Schedulableインタフェースを実装したクラスしか設定できないので注意して下さい。
スケジューリングされていることは、「管理者設定」→「監視」→「スケジュール済みジョブ」で確認できます↓
スケジュール実行を取り消したい場合は、ここから削除します。
コメント