12.1 スケジューラーの基本機能
ここでは、スケジューラーの概要ついて解説します。
12.1.1 スケジューラーとは
スケジューラーは、ACMS Cloudが自動で業務処理(通信、フロー管理)を計画的に実行するための機能です。これにより、手作業なしでさまざまな処理を効率よく進められ、汎用的なスケジューラーでは難しい複雑な業務にも対応できます。
12.1.2 スケジューラーの特徴と機能
スケジューラーは、指定した時刻や時間帯に特定の処理を実行する機能を持ち、用途に応じて以下の2つのタイプに分かれます。
■カレンダースケジューラー
指定した時刻にタスクを実行します。例えば、毎月末に売上データを集計する場合や、毎週月曜日に発注業務を開始する場合に使用します。
■ウィンドウ-制御スケジューラー
指定した時間帯にのみタスクの実行を許可します。たとえば、毎日午前10時から午後1時まで通信を許可する場面で使用します。
12.1.2.1 設定情報
ACMS Cloudのスケジューラーを用いた自動運転を行うためには、以下の情報を登録します。
- スケジュール情報
- 休業日カレンダー情報
運用者自身が処理をする日時や処理内容などの情報を設定する必要があります。スケジューラーはこの情報を元に日々の処理を行います。ACMS Cloudではこの情報のことを「スケジュール情報」と呼びます。
スケジュール情報では、「毎週金曜日」や「毎月末」など、特定の日付を指定することなく設定することが可能です。これにより、一度設定したスケジュール情報を永続的に利用できます。当然ながら「2015年12月31日」のように、特定の日付を指定することも可能であり、この場合はその日のみ業務処理を実行します。
スケジュール情報は永続的に使用できる反面、個々の日時の処理状況を管理する用途には不向きです。そのため、スケジュール情報の設定内容とは別に、個々の日時の処理状況を管理する必要があります。
このためスケジューラーは、スケジュール情報から「予定(情報)」を作成します。予定情報は具体的な日時や処理内容などを保持し、その内容を元にスケジューラーが処理を行います。処理の内容はスケジューラーのタイプによって異なります。
また、企業には業務を行う日と行わない日があり、それぞれを「営業日」と「休業日」と呼びます。ACMS Cloudでは、休業日ではない日を営業日として扱います。ACMS Cloudでは、このカレンダー情報を「休業日カレンダー情報」と呼びます。休業日には任意の日付や曜日、祝日を指定します。曜日は「毎週」以外にも「第N週」などの形で指定できます。祝日は「国民の祝日」を利用できます。
祝日名 | 日付 |
---|---|
元日 | 1月1日 |
成人の日 | 1月第2月曜日 |
建国記念の日 | 2月11日 |
天皇誕生日 | 2月23日 |
春分の日 | 3月(日は年によって変動) |
昭和の日 | 4月29日 |
憲法記念日 | 5月3日 |
みどりの日 | 5月4日 |
こどもの日 | 5月5日 |
海の日 | 7月第3月曜日 |
山の日 | 8月11日 |
敬老の日 | 9月第3月曜日 |
春分の日 | 9月(日は年によって変動) |
スポーツの日 | 10月第2月曜日 |
文化の日 | 11月3日 |
勤労感謝の日 | 11月23日 |
休日 | 「国民の祝日」が日曜日に当たるとき、その日の後の最も近い平日を休日とする。 ※祝日法第3条第2項による休日 |
休業日カレンダー情報からほかの休業日カレンダー情報を参照できます。この場合の休業日の決定は、参照元の休業日カレンダーの情報を優先して決めます。参照元の休業日カレンダーで休業日、または営業日の設定がされている場合はそれに従いますが、ともに設定されていない場合は参照先の休業日カレンダー情報の設定に従います。
休業日カレンダー情報はスケジュール情報から参照されます。休業日カレンダー情報はいくつでも作成できるため、スケジュール情報ごとに異なる休業日カレンダー情報を参照できます。

12.1.2.2 成立判定
予定の処理が正しく終了したと判断する条件は、業務や運用によって異なります。タスクを登録すれば良いような場合や、タスクの処理が正しく終了していなければならない場合などが考えられます。ACMS Cloudではこの条件のことを「成立条件」と呼びます。
成立条件を満たしていた場合には予定を「正常終了」、満たしていなかった場合には「異常終了」にします。
成立条件の内容はスケジューラータイプにより異なります。
12.1.2.3 スケジューラーにおける運用日
運用日の開始時刻(「運用日切替時刻」)は、スケジュール情報、スケジュール情報のターゲット情報、そして業務グループ情報の設定値を組み合わせて決定します。優先順位は以下の通りです
- スケジュール情報で設定されている場合、その値を使用。
- スケジュール情報に未設定の場合は、ターゲット情報の設定を使用。
- ターゲット情報に未設定の場合は、業務グループ情報の設定を使用。
このように、設定の優先順位に従って運用日切替時刻が決定され、適切な運用日開始時刻を反映させることができます。

運用日切替時刻の決定(スケジュール情報)

運用日切替時刻の決定(ターゲット)
また、スケジュール情報で設定可能な時間は、-12:00から-23:59、00:00から11:59です。
例えば、-12:00と設定した場合は前日の12:00からその日(運用日)を開始します。

マイナス時間の運用日切替時刻の運用日
12.1.2.4 スケジュールの予定時間
スケジュールの処理時間の設定は、運用日の24時間の設定が可能です。
スケジューラータイプにより、設定可能な時間が異なります。
以下は、運用日切替時刻を00:00に設定した場合を例にして説明します。
- カレンダースケジューラー
23:59までが設定可能です。
- ウィンドウスケジューラー
開始時刻は23:59までが設定可能です。
終了時刻は24:00までが設定可能です。
12.2 スケジューラーの処理
スケジューラーは、処理する内容によって「カレンダースケジューラー」と「ウィンドウスケジューラー」にタイプが分かれます。ここでは、これらの処理について説明します。
12.2.1 カレンダースケジューラー
カレンダースケジューラーは、何らかの処理を起動するスケジュール処理です。指定した日時に指定したターゲットの処理待ちタスクを登録できます。指定できるターゲットは以下の通りです。
- 通信(発信受信)
- フロー
■予定の開始
指定した日時に指定したターゲットの処理待ちタスクを登録します。ただし、以下の場合はタスクを登録しません。
- この予定を作成したスケジュール情報の状態が「停止」
- 指定したターゲットが存在しない
- 指定したターゲットがスケジュール情報とは異なる業務グループに存在する
スケジュール情報の状態が「停止」の予定は、そのまま処理できる状態になるまで待ちますが、ターゲットが存在しない、またはターゲットの業務グループがスケジュール情報の業務グループと異なる場合は、この予定を異常終了として扱い、以降処理しません。
■予定の終了
スケジュール情報に設定した「成立条件」を元に予定の成立判定を行います。成立条件を満たしている場合には予定を「正常終了」、満たしていない場合には予定を「異常終了」にします。
カレンダースケジューラーのスケジュール情報には、「タスクを登録した」が設定できます。
予定が登録したタスクの状態に関わらず、タスクが登録できていれば予定を「正常終了」とします。タスクを登録できなければ「異常終了」とします。
12.2.1.1 予定の状態遷移
自動運用中における、カレンダースケジューラーの予定の状態遷移は次の通りです。

「異常終了(継続)」は継続スケジュールのみの状態です。後続の継続予定が存在する主予定、副予定が異常終了した場合の状態です。
継続スケジュールの性質上、主予定、副予定については後続の予定が存在するため、通常の「異常終了」とは異なる警告レベルの状態として表示します。
状態の遷移や、操作については通常の「異常終了」と同様です。
12.2.2 ウィンドウスケジューラー
ウィンドウスケジューラーは、登録済みのタスクの制御を行うスケジュール処理です。タスクの制御では、指定した時間帯にのみ、指定したターゲットのタスクを実行できます。指定できるターゲットは以下の通りです。
- 通信
- 通信ユーザー
- フロー
- アプリケーション
12.2.2.1 制御スケジューラー
データファイルの作成が完了するなど、業務を実行するための準備が整ったとしても、指定の時間帯外には業務を実行してはならないことがあります。
制御スケジュールは、あらかじめ指定した時間帯のみタスクの実行を許可し、それ以外の時間帯にはタスクを実行しないように制御します。時間帯外に登録されたタスクは処理待ち状態のままとなり、次の予定が実行中になった時点で実行を許可します。
予定が実行中の間のみタスクの実行を許可するため、スケジュール情報を停止にしているなど、予定が実行中にならないままだとタスクの実行は許可されないままとなります。図「制御スケジュールのタスク実行の拒否と許可」において、タスク①、④は制御スケジュールにより、すぐには実行を許可しません。制御スケジュールから作成された予定が実行中になると実行が許可されます。タスク②、③は既に予定が実行中であるため、そのまま実行を許可します。

制御スケジュールのタスク実行の拒否と許可
■予約タイプのスケジュール
予約状態のタスクと処理待状態のタスクを実行できます。
時間帯がない(予定時間の開始と終了が同じ時間)スケジュールの場合は存在する予約タスクと処理待ちタスクの実行を行います。詳細は後述します。
■0件データタスクの登録
予定実行時に、以下のすべての条件を満たしている場合に0件データ(0バイトファイル)のタスクを登録します。
ワイルドカード設定のスケジュールの場合は、予定展開時に存在したターゲットごとに0件データタスクの登録を判定します。
本機能は12/15は発注があるので相手先へ発注データを送信するが、12/16は発注がないので0byteファイルのデータを送信するような場面で利用します。
- スケジューラータイプがウィンドウ-制御タイプのスケジュール情報
- 予約タイプのスケジュール情報
- ターゲットタイプが通信、またはフローのスケジュール情報
- (ターゲットタイプが通信の場合)ターゲットとなる論理ファイルが着信受信以外
- 0件データタスク登録「する」と設定されたスケジュール情報
- 予定開始時に実行対象の予約タスクまたは処理待ちタスクが存在しない
■共通のターゲットを設定したスケジュールが重なった場合
複数のスケジュールが同一のターゲットを指定していた場合、それぞれのスケジュールによりそのターゲットの実行を制御します。そのため、ある予定が実行中になっても、他のスケジュールから作成された予定が実行中でない場合は、ターゲットの実行は許可されません。共通のターゲットを指定しているスケジュールから作られた予定のすべてが実行中になっている時間帯のみ、このターゲットのタスクの処理が許可されます。
例えば、スケジュール情報Aの予定が11:00から13:00で、スケジュール情報Bの予定が12:00から14:00だった場合は、2つの予定が実行中になった12:00から13:00の間のみターゲットの実行を許可します。
12:00より前はスケジュール情報Bの予定が実行中でないためターゲットの実行は許可されません。また、13:00以降であればスケジュール情報Aの予定が実行中でないため許可されません。
■予定の状態遷移
自動運用中における、制御スケジューラーの予定の状態遷移は次の通りです。

12.2.2.2 予約タイプのスケジュール
■予約タイプのスケジュールとは
予約タイプのスケジュールは予約状態で登録されているタスクを予定時刻に実行することを目的とした機能です。発注データの作成時刻と送信時刻が異なる場合などに利用します。
予約タイプのスケジュールは以下の条件をすべて満たしたスケジュール情報です。
- スケジューラータイプが制御スケジューラーである
- 予定開始時間と予定終了時間が同時刻である
利用できるターゲットは次の通りです。
- 通信(着信受信以外)
- 通信ユーザー
- フロー
例えば下記の図が予約タイプのスケジュールになります。

予約タイプのスケジュールは以下の状態のタスクを実行します。
- 予約
- 処理待
図「予約タスクの実行フロー」は予約状態のタスクの実行イメージです。
運用者が事前に予約状態のタスクを登録する必要があります。
3.4.2 ロードを参照してください。

予約タスクの実行フロー
12.2.3 スケジュールの展開
スケジューラーが、スケジュール情報から特定日時の予定を作成する機能となります。ACMS Cloudではこのことを「スケジュール展開」と呼びます。
スケジューラーによる自動運転をするためには、前述の処理時間の設定可能範囲の関係から、午前であれば前運用日と当運用日と翌運用日、午後であれば前運用日と当運用日と翌運用日、翌々運用日の予定が必要になります。
スケジュール展開には以下の2種類があります。
- 定時展開
- 強制展開
毎日決まった時間に実行する「定時展開」、運用者が行う「強制展開」があります。
スケジュール情報が停止の場合は予定を展開しますが実行されません。詳細は12.2.4 スケジュール情報の状態を参照してください。

以降ではそれぞれの展開について説明します。
12.2.3.1 定時展開
毎日決まった時間に、スケジューラーが自動的に行う予定の作成のことを「定時展開」と呼びます。スケジューラーが自動的に行うため、運用者が実行を指示することはできません。
定時展開では、翌々運用日の予定を作成します。すでに作成されている場合は何もしません。
12.2.3.2 強制展開
利用者が展開済み日までのスケジュールを再展開することを「強制展開」と呼びます。
スケジュール情報の追加、変更をすぐに反映したい場合に使用してください。この処理を行わない場合は、次の定時展開からそのスケジュール情報を元に予定を作成します。
強制展開は、既に展開済みの予定がある場合はそれらの未処理の予定を破棄状態にしてから、再度予定を作成します。 当運用日からの強制展開を実行した場合、強制展開を実行した日時から5分以内の予定は対象外です。強制展開前のまま予定が残ります。また、実行中の予定が存在する場合は、その予定の終了日時までは対象外です。
また、実行中の予定が存在する場合は、その予定の終了日時までは対象外です。
定時展開が終わった後から運用日が切り替わるまでの間は、当運用日、翌運用日、翌々運用日の予定が存在します。いつから強制展開をするのか自動で判断できないため、運用者が明示的に指示をする必要があります。指示された運用日以降の予定を再生成します。
■新規スケジュール登録時の展開ルールと注意点
新規にスケジュールを登録、または更新した場合、定時展開によってスケジュールが展開されるのは「展開済み日」以降となります。
そのため、登録直後に即時反映させたい場合は「強制展開」を実行する必要があります。
また、展開済み日までのスケジュールを展開したい場合も、強制展開が必要です。

12.2.4 スケジュールの情報の状態
スケジュール情報を停止とした場合、予定を展開しますが予定は実行されません。一定の時間経過後に予定を時刻超過にします。
予定が時刻超過になるタイミングはスケジューラータイプによって異なります。
説明 | |
---|---|
カレンダータイプ | スケジュール情報の最大遅延時間に従います。 予定開始時間から最大遅延時間が過ぎた場合に予定が時刻超過になります。※ |
ウィンドウ-制御タイプ | 予定終了時間を過ぎた場合に予定が時刻超過になります。 |
ウィンドウ-制御(予約タイプ) | 予定開始時間から5分過ぎた場合に予定が時刻超過になります。 |
※スケジュール情報を停止&最大遅延時間を「指定しない」とした場合、待機の予定が処理されず残り続けます。これにより以下の影響が出る可能性があります。
- スケジュール情報を開始にすると残った待機の予定が即時に全て実行されます
- 待機の予定が大量に滞留するとスケジューラーの予定の実行処理が遅延する可能性があります
12.2.5 スケジュール情報の有効期間
スケジュール情報に有効期間を指定できます。スケジュール情報に有効期間を指定した場合、有効期間外には予定を展開しません。
有効期間外の扱いはスケジューラータイプによって異なります。
12.2.5.1 カレンダータイプの場合
カレンダータイプの場合、有効期間外にターゲットを登録しません。以下の例では有効期間9/5の06:00のみターゲットを登録します。

12.2.5.2 ウィンドウ-制御タイプの場合
ウィンドウ-制御の場合の有効期間に関する挙動について説明します。
■有効期間外にターゲットの実行を許可する
■単独のスケジュールの場合
有効期間開始日以前や有効期間終了日以降を問わず、ターゲットの実行が常に許可されます。
以下の例では有効期間開始日以前や有効期間終了日以降を問わず、ターゲットの実行を許可します。

■複数のスケジュールが同一のターゲットを指定していた場合
有効期間開始日以前や有効期間終了日以降を問わず、ターゲットの実行が常に許可されます。
以下の例では有効期間開始日以前や有効期間終了日以降を問わず、ターゲットの実行を許可します。

12.2.5.3 ウィンドウ-制御(予約タイプ)の場合
ウィンドウ-制御(予約タイプ)の場合、有効期間外に予約状態で登録されたターゲットを実行しません。以下の例では有効期間9/5の06:00のみ予約状態で登録されたターゲットを実行します。

12.2.6 システム停止時の処理
ACMS Cloudが停止している間は、スケジューラーは何も処理できません。
弊社が告知するメンテナンスで計画停止を行う場合にあたります。
既に作成されているこの間の予定は、カレンダースケジューラーの予定であれば、スケジューラー起動時に最大遅延時間を超過していれば「時刻超過」となり、処理されません。最大遅延時間を過ぎていなければ、その予定は処理されます。
ウィンドウスケジューラーの予定であれば、終了時間を超過していれば「時刻超過」となり、処理されません。終了時間を過ぎていなければ、その予定は処理されます。この場合、監視対象の時間帯は予定通り変わりません。