OTRSスケジューラ

スケジューラ・グラフィカル・インターフェース
スケジューラ停止中の通知
スタート・スケジューラ
スケジューラ・コマンドライン・インタフェース
Scheduler init.d files
スケジューラ・デーモン・ファイル

The OTRS Scheduler is an independent system process that executes tasks in background. These kind of processes are know as daemons in Unix / Linux systems. It is independent but that doesn't mean that the Scheduler does everything alone, it is fully integrated into OTRS and can use any OTRS module as needed to complete each task.

正常な理由のためにスケジューラ・プロセスはときどきリスタートする必要があります。これは、一日に一度スケジューラ・プロセス自体によって自動的に行われます。しかし、必要な時、SysConfigを使用して「Scheduler::RestartAfterSeconds」設定の編集すればそれを調節することができます。

OTRSスケジューラは完全に自動プロセスです。唯一の人間の介在が必要とされることは、そのステータスを周期的にチェックし、必要な時にそれをスタートするか停止することです。

注記

スケジューラが何らかの理由で停止されたら、スケジューラが停止した時に登録された全ての保留タスクと新規タスクは、スケジューラが再開するとすぐに実行されます。(タスクがその後実行される準備ができていない限り)

スケジューラ・グラフィカル・インターフェース

スケジューラは、それが停止しない限り、OTRSグラフィカルユーザーインターフェイスにおいて不可視です。

スケジューラ停止中の通知

スケジューラが停止中をシステムが検知する場合、2つの異なるタイプの通知があります。この検知はスケジューラ・プロセスの更新頻度に基づきます。現在時刻と最終プロセス更新時刻の時間差が2倍以上ならば、OTRS通知エリア内にプロセス更新頻度警告メッセージが表示されます。それが4倍以上のプロセス頻度ならば、警告に変わって警戒メッセージが表示されます。

スケジューラ・プロセス更新時間は、「Scheduler::PIDUpdateTime」設定中のSysConfigによって構成することができます。警告メッセージを見ても必ずしも処置を講ずる必要はありません。

しかし、スケジューラ・プロセスが走っているかどうかをチェックすることは強く推奨します。警戒メッセージを見たら、スケジューラが停止している可能性が高いのでスタートすべきです。

データベースに有効なウェブサービスが登録されていたり、または「管理者」グループのユーザだけに表示されている場合、デフォルトでスケジューラは通知を有効ではありません。

通知を不能にするためには(推奨しませんが)あるいは、通知グループを変更・追加するためには、SysConfigの中の設定「Frontend::NotifyModule###800-Scheduler-Check」を編集してください。

図:スケジューラ通知

スタート・スケジューラ

スケジューラ停止中通知リンク(警告か警戒のいずれか)をクリックすることによって、再びスケジューラ・プロセスをを再開させるためにダイアログ・ボックスを開きます。ダイアログ中のチェックボックスを適切にクリックすることでスケジューラは正常にスタートするか強制的にスタートさせられます。

注記

強制的なスケジューラ・スタートは、前のスケジューラ・プロセスが異常に終了し、プロセスIDがデータベース中でまだ登録されている場合のみ、必要です。

スケジューラ・プロセスを十分にコントロールをするために、以下の述べるコマンドラインツールをつかって、その実際の状態をチェックして下さい。

図:スケジューラの開始

スケジューラ・コマンドライン・インタフェース

スケジューラ・コマンドライン・ツールによってスケジューラ・プロセス(スタート・ストップ)をコントロールし、スケジュールの状態を尋ねます。さらにオペレーティング・システムによってコントロールされるプロセスを登録するツールがあります。

Included with OTRS there commandline interface (CLI) tools for the scheduler.

Scheduler init.d files

init.d ファイルは、スタートアップとシャット・ダウンでオペレーティング・システムによって呼び出される特別なスクリプトです。

OTRSは、オペレーティング・システムによってOTRSスケジューラ・プロセスを自動的に始める/止めるためにinit.d スクリプトを提供します。これらのスクリプトはOTRS_HOME/scriptsの下にあります。

init.d スクリプトは、ご利用のオペレーティング・システムに応じて正しい位置にコピーする必要があります。それらは適切な許可を持つ必要があります。また、いくつかの内部変数を適切に動くようにセットする必要があります。システムをセット・アップにOTRS RPMを使用したならば、これは自動的に処理されます。

init.d スクリプト内部変数

  • OTRS_HOME - OTRSインストールのパス。

  • User - the apache プロセスユーザ名。

  • Group - the apache OTRSインストールのグループ名。

注記

現在、OTRSは、Linuxプラットフォームのinit.d スクリプトだけを提供します。

表4.7 テーブル4.7. init.d スクリプトのリストとサポートされるオペレーティング・システム

Init ScriptサポートするOS
otrs-scheduler-linuxRed Hat, Fedora, CentOS, SUSE, openSUSE, Debian, Ubuntu
otrs-scheduler-gentoo-init.d, otrs-scheduler-gentoo-conf.dGentoo

例4.29 Linux上でOTRSを開始するサンプル

                        shell> /etc/init.d/otrs-scheduler-linux start
                    


可能なアクション

  • start - OTRSスケジューラ・プロセスを開始

  • stop - OTRSスケジューラ・プロセスを停止。

  • restart - OTRSスケジューラ・プロセスを再開。

  • status - OTRSスケジューラ・プロセス・ステータスをクエリー

スケジューラは、そのプロセスIDを登録することができるようにデータベースを必要とします。というのは、この理由は次のものに必要であるからです:

  • データベース・プロセスの活動開始以後、スケジューラ・プロセスを開始するためにスケジューラinit.d スクリプトを実行します。

  • データベース・プロセスがシャット・ダウンする前に、スケジューラを停止ためにスケジューラinit.d スクリプトを実行します。

注記

スケジューラがシステム起動時に開始することを望むなら、オペレーティング・システムのドキュメンテーションを読んで、init.dスクリプトを置く正しい場所、それらの自動的に開始するための構成方法及び起動順の設定方法を見つけて下さい。

スケジューラ・デーモン・ファイル

これは、実行すべきタスクをチェックしながらバックグラウンドで稼働し続けるスケジューラの部分です。さらに、それは、プロセスをコントロールするために主機能を提供します。

全てのUnix/Linuxはファイル OTRS_HOME/bin/otrs.Scheduler.plを使用します。

例4.30 OTRSスケジューラを開始するサンプル

                        shell> OTRS_HOME/bin/otrs.Scheduler.pl -a start
                    


利用可能なオプション

  • -a アクション

    可能な値

    • start - スケジューラ・プロセスを開始。

    • stop - スケジューラ・プロセスを停止。

    • status - スケジューラ・プロセス状態のクエリー。

  • -f スケジューラ・プロセスの強制的開始または停止。

例4.31 OTRSスケジューラを強要停止するサンプル

                        shell> OTRS_HOME/bin/otrs.Scheduler.pl -a stop -f 1
                    


注記

スケジューラが走っておらず、プロセスがまだ登録されている時に、スケジューラを強制終了させることは、データベースからプロセスIDを取り除くことになります。

スケジューラが走っておらず、プロセスがまだ登録されていれば、スケジューラを強制終了させることは、スケジューラプロセスを開始することになります。

強制開始または強制停止は、プロセス開始がプロセス更新時間が失効する前になされる必要な場合のみ必要です。そうでなければ データベース内の失効エントリーは通常開始で破棄されます。