3

スケジュール可能なジョブを実行しようとしています。セールスフォースでスケジュール可能なジョブを使用したことがありません

ここに私のコードがあります

global class scheduledMerge implements Schedulable{
   global void execute(SchedulableContext SC) {
      System.debug('Hello World'); 
   }
}

          created a cusom controller
public class schedulableMerge{

public schedulableMerge(){

}
public PageReference Hello(){
scheduledMerge m = new scheduledMerge();
        String sch = '0 10 * * 1-12 ? *';
        system.schedule('Merge Job', sch, m);
        return null;
}

}

そしてvisualforceページは

<apex:page controller="schedulableMerge">
  <!-- Begin Default Content REMOVE THIS -->
    <h1>Congratulations</h1>
  This is your new Page
  <!-- End Default Content REMOVE THIS -->
  <apex:form >
  <apex:commandButton value="Press it" action="{! Hello}" />
</apex:form>

</apex:page>

ボタンを押すと、すべてのスケジュール可能なジョブにジョブがありますが、それを削除するオプションは1つだけです。管理のオプションはありません。このジョブは 10 分ごとに実行する必要があると思います。[監視] > [デバッグ ログ] からデバッグ ログを確認しましたが、ログが表示されていません。ジョブを 1 分ごとに実行する表現と、デバッグ ログの参照先を教えてください。私の目的は、スケジュール可能なジョブの動作を確認することです

4

3 に答える 3

2

ジョブを 1 分ごとに実行する表現と、デバッグ ログの参照先を教えてください。

毎分実行することはできません。最小は 1 時間 - Apex スケジューラです。ハックが 1 つあります。ジョブをできるだけ頻繁に実行して、多くのジョブを開始することです。

現在実行中のジョブ (可能であれば) で新しいジョブをスケジュールして、Datetime.now().minute() + 1 ごとに実行することができます。このアイデアが頭に浮かびました。私はそれを試しませんでした。ですから、同じ授業が 1 分後に開始されます。ただし、このクラスの現在のジョブを強制終了することを忘れないでください。これにより、膨大な数のスケジュールされたジョブを作成してガバナーの制限を使い果たすことがなくなります。

于 2013-02-18T10:14:13.763 に答える