タイマーを作成して実行する
タイマーは設計時に作成でき、実行スケジュールは設計時または実行時に設定できます。
タイマーを作成する
モジュールにタイマーを作成するには、以下の手順を実行します。
- モジュールツリーの[Process]タブで[Timer]フォルダを右クリックして、[Add Timer]を選択します。
- タイマー起動時に実行するアクションを選択するか、あるいは[(New Server Action)]を選択して新しいアクションを作成します。
指定したアクションに入力パラメータがある場合は、タイマーを作成する際に、タイマー起動時にパラメータとして渡される値を指定する必要があります。ただし、アクションに出力パラメータがある場合は、アクションの実行終了後にパラメータにアクセスすることはできません、
タイマーを自動的に実行するようにスケジュールを設定することや、タイマーを明示的に実行することができます。
タイマーのスケジュールを設定する
以下のいずれかの方法でタイマーのスケジュールを設定できます。
-
設計時にタイマーの
Schedule
プロパティを設定する:日次や週次などの繰り返しスケジュールを定義することや、たとえば構成の実行やデータのブートストラップのように、モジュールをパブリッシュするたびにタイマーを実行するように定義することができます。 -
実行時にService Centerでタイマースケジュールを設定する: 有効なタイマースケジュールは、Service Centerで設定します。タイマースケジュールをアプリケーション設計時とService Centerの両方で定義した場合、先に定義したスケジュールは無視されます。これにより、アプリケーションを別の環境にデプロイする際に、アプリケーションに変更を加えることなくタイマースケジュールをカスタマイズできます。
-
タイマースケジュールを実行中に変更するためのロジックを実装するロジックで、タイマーの
Schedule
ランタイムプロパティに特定のスケジュールを割り当てます。適切な時刻形式を使用していることを確認します。
タイマーのスケジュールを定義すると、事前定義済みの時刻にタイマーが実行されます。
タイマーを明示的に実行する
以下の2つの方法でタイマーを明示的に実行できます。
Wake<タイマー名>
ビルトインアクションを使用する。- Service Centerでタイマーを実行する。
どちらの方法もタイマースケジュールは変更されないため、タイマーは通常どおりに実行され続けます。また、同じタイマーを同時に2回実行することはできないため、すでに実行中のタイマーを実行しようとした場合、最初のタイマーが終了してから次のタイマーが実行されます。
WakeTimerビルトインアクションを使用する
新しいタイマーを作成すると、ビルトインアクションを使用してプログラムによってタイマーを実行できます。このアクションはWake<タイマー名>
という名前で、アプリケーションロジックで使用できます。
Wake<タイマー名>
アクションが実行されると、タイマーのNextRun
プロパティは現在時刻に更新されます。タイマーはスケジューラサーバーで処理され、優先度に従って実行されます。
Wake<タイマー名>
アクションは入力パラメータを受け取らず、出力パラメータを返しません。
Wake<タイマー名>
ビルトインアクションをロジックで使用するには、以下の手順を実行します。
- [Process]タブのTimer要素を展開します。
-
Wake<タイマー名>
アクションをドラッグし、ロジックで使用します。
Service Centerでタイマーを実行する
Service Centerで明示的にタイマーを実行するには、以下の手順を実行します。
- [Factory]タブで[eSpace]を選択し、対象のeSpaceを選択します。
- [Timers]タブを選択します。
- 実行するタイマーをクリックします。
- [Run Now]ボタンをクリックします。