バックグラウンド タスクをアクティブにする

バックグラウンド タスクをアクティブにする

この機能が有効になっている場合、TestRail のバックグラウンド タスクは、テストが変更されたときに電子メール通知を送信する処理などを行います。バックグラウンド タスクは単純な PHP スクリプトで、一定の間隔で起動する必要があります。

これを行う最も簡単な方法は、オペレーティング システムが提供するツールを使用してバックグラウンド ジョブとしてスケジュールすることです。Windows および Unix/Linux オペレーティング システムにバックグラウンド タスクをインストールする方法については、以下を参照してください。

Windows のバックグラウンド タスク

バックグラウンド タスクを定期的にトリガーするには、Windows タスク スケジューラーを使用します。タスクをスケジュールする前に、コマンド ライン (x86 および x64) から手動でタスクを実行し、バックグラウンド タスクが正常に開始されることを確認できます。
x86システムの場合:
> "C:\Program Files\PHP\7.2\php.exe" "C:\inetpub\wwwroot\testrail\task.php"

または、x64システムの場合:
> "C:\Program Files (x86)\PHP\7.2\php.exe" "C:\inetpub\wwwroot\testrail\task.php"

TestRail バックグラウンド タスクは、タスクがすでに実行されているかどうかを自動的に検出します。そのため、最良の結果を得るには、非常に短い間隔 (1分ごとなど) でタスクを起動することをお勧めします。それには、Windows タスク スケジューラーを開き、[タスクの作成] (Windows 2008 の場合) を選択します。

タスク名を指定し、ログオンしているユーザーがいなくてもタスクを起動するように設定します。

[トリガー] タブで新しいトリガーを追加し、タスクをいつ実行するかを指定します。

そして最後に重要なこととして、TestRail タスク スクリプトを実行するためのアクションを [操作] タブに追加します。

スクリプトは PHP スクリプトであるため、php.exe および task.php スクリプトのパスを引数として指定する必要があります (引用符を含む)。

"C:\inetpub\wwwroot\testrail\task.php"

タスクス ケジューラー GUI を使用する代わりに、コマンド ラインを使用してタスクを作成することもできます。

Windows Server 2008の場合:

x86システムの場合:
> schtasks /create /np /sc minute /mo 1 /tn "TestRail Background Task" /tr 
  "\"C:\Program Files\PHP\7.2\php.exe\" C:\inetpub\wwwroot\testrail\task.php"

または、x64システムの場合:
> schtasks /create /np /sc minute /mo 1 /tn "TestRail Background Task" /tr 
  "\"C:\Program Files (x86)\PHP\7.2\php.exe\" C:\inetpub\wwwroot\testrail\task.php"

Unix/Linux のバックグラウンド タスク

Unix/Linuxシステムでバックグラウンド タスクを定期的に起動するには、cron を使用します。タスクをスケジュールする前に、コマンド ラインから手動でタスクを実行し、バックグラウンド タスクが正常に開始されることを確認できます。
$ php /var/www/html/testrail/task.php

TestRail バックグラウンド タスクは、タスクがすでに実行されているかどうかを自動的に検出します。そのため、最良の結果を得るには、非常に短い間隔 (1分ごとなど) でタスクを起動することをお勧めします。それには、システムに cron がインストールされていることを確認し、/etc/cron.d/testrail ファイルを作成して次のように記述します。

* * * * * www-data /usr/bin/php /var/www/html/testrail/task.php

cron ジョブは PHP のコマンド ライン インターフェイスを必要とします。これはすでにシステムにインストールされている場合があります。php -v コマンドを実行すると、すでにインストールされているかどうかをテストできます。まだインストールされていない場合は、プラットフォームのパッケージ マネージャーを使用して php7.2-cli またはこれに相当するパッケージをインストールしてください。

注意:また、php-cli が Web サーバーの PHP.ini ファイルを使用しない場合は、php-cli の PHP.ini に上記の PHP 拡張機能を追加してください。Ubuntu システムでは、 /etc/php/7.2/cli/php.ini に ioncube 拡張機能も追加します。