以下は JE2BWM ほかが作成した翻訳 です。 原文は University of California より GFDL で配付されており、 この翻訳も GFDL に従います。
原文: Periodic tasks   (翻訳対象の更新日付は 10:08 PM UTC, April 16 2007 です)。

定周期タスク

boinc.gif
(英語のみ)

定周期タスク(Periodic tasks)とは、周期的に実行されるプログラム群のことです。 それらは、プログラム bin/start --cron で起動されます。 この親プログラムは cron から駆動する必要があります。 (そのためには、crontab を走らせて下記の形式の1行を 追加します)。
0,5,10,15,20,25,30,35,40,45,50,55 * * * * HOME/projects/PROJECT/bin/start --cron
定周期の各タスクが走っている時間は短いものですが、それが短時間で終わらない場合には、 前記の「start」スクリプト がタスクが走り続けていることと検知して、 同じプログラムのインスタンスをもう一つ走らせないように制御します。

あなたのプロジェクトで実行する定周期タスクは、 config.xml ファイルに 下記の XML 要素の形式で記述します。

    <task>
      <cmd>          get_load        </cmd>
      <output>       get_load.out    </output>
      <period>       5 min           </period>
      [ <host>       host.ip         </host>       ]
      [ <disabled>   1               </disabled>   ]
      [ <always_run> 1               </always_run> ]
    </task>
    <task>
      <cmd>      echo "HI" | mail root@example.com     </cmd>
      <output>   /dev/null                             </output>
      <period>   1 day                                 </period>
    </task>
    <task>
    ...
    </task>

cmd 定周期のタスクの一つを実施するためのコマンドを指定します。 プロジェクトの /bin ディレクトリに置かれたプログラムでなけらばなりません。

PHP で書いたスクリプトも、定周期のタスクとして走らせることができます。 その場合、スクリプトは html/ops/ ディレクトリに置く必要があり、 コマンドの形式は、

run_in_ops scriptname
という形式にすれば走らせることができます。 このスクリプトは実行可能に設定され、以下の形式で書かれる必要があります。
#! /usr/bin/env php
<?php
...
?>
    
この形態のタスクでは出力ファイルを指定する必要があります。 (さもなければ、出力は run_in_ops.out に書き出されます)。
host 当該プログラムが走るべき計算機を指定します。 指定しなければ、config.xml に指定したプロジェクトの主計算機と解釈されます。
period 実行間隔を指定します。 数値だけで指定すると単位は分とみなされます。 数の後に単位として seconds や minutes、hours または days を付けて指定することもできます (単位の部分は、重複しないだけの長さの先頭文字列にまで略して記述できます)。
output 出力ファイルを指定します。 指定しなければ、 COMMAND_BASE_NAME.out と解釈されます。 出力ファイルは、log_X/ というディレクトリに置かれます。 ここで、X は実行する計算機の名前です。
disabled これが属する task 要素は無視されます。
always_run 当該プロジェクトが稼働中であるかどうかにかかわらず、そのタスクを走らせます。 (たとえば、その計算機の 現在時点の CPU 負荷をログするようなスクリプトなど)。

新たに make_project を使って創成したプロジェクトでは、 定周期タスクはなにも登録されていません。 定周期タスクとして、以下のようなプログラムをあなたのプロジェクトで走らせたくなるかもしれません。

db_dump 外部提供のため、統計情報を XML ファイルに書き出します。 詳細については、ダウンロードできる統計データ のページをご覧ください。 推奨する実行間隔の指定は、1日 です。
update_profile_pages.php 参加者のプロファイルへのリンクをアルファベット順と国の順で一覧にした HTML ファイル群を生成します。 推奨する実行間隔の指定は、数日 です。
update_stats -update_teams -update_users -update_hosts 参加者、チーム、計算機の3つについて、 最近の「功績値増分の平均値」の欄を、更新します。 これが重要な役割を果たすのは、あなたのプロジェクトで 個人に適応した内容の 大量のE-メイル や、 注意喚起のE-メイル 、あるいは 最近の功績値を使って掲示板への書き込み許可を制御する場合などです。 推奨する実行間隔の指定は、数日 です。
update_uotd.php 「本日の参加者紹介」の次の人を選びます。 周期: 1日
update_forum_activities.php 掲示板「Questions and Answers」のスレッドと投稿ごとに、 「人気」の推定値を再計算します。 推奨する実行間隔の指定は、1時間 です。


BOINCの訳のメインページに戻る | (原文のメインページに戻る)
 

最終更新時刻 22:38:14, 2007年05月19日(JST)
Copyright © 2009 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
Copyright © 2009 Komori Hitoshi(je2bwm at jarl.com). Japanese translation from English web pages on BOINC. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.