ファイルの読み出し |
Last modified 11:35 AM UTC, August 16 2004 |
持続性のあるファイルを特定の計算機から取り出すことができます。 そのために、関数
get_file(int host_id, const char* file_name)
を使うか、あるいは、下記のコマンドラインプログラムを使います。
get_file -host_id X -file_name Y
このプログラムは、対象のプロジェクトルートディレクトリで走らせる必要があります。
get_file() 関数は、下記形式の名前をもつリザルトを1つ作り出します。
get_FILENAME_HOSTID_TIME
例: get_test.mpg_34_123456789 は、時刻 1234567891に生成したリザルトで、 番号 34 の計算機から、test.mpg というファイルをアップロードする [よう指示する]リザルトを表わしています。
upload メッセージは特定の計算機に対して作られ、 そのプロジェクトのデータベース内の msg_to_host テーブルに追加されます。 このメッセージが、各計算機で動作しているクライアントに、 指定したファイルをアップロードし、成功確認を返すように指示します。 この upload メッセージは、次回の RPC 応答に含めて対象の計算機に渡します。 メッセージの形式は以下のとおりです。
<app>
<name>FILE_MOVER</name>
</app>
<app_version>
<app_name>FILE_MOVER</app_name>
<version_num>BOINC_MAJOR_VERSION</version_num>
</app_version>
<file_info>
<name>file_name</name>
<url>upload_dir</url>
<max_nbytes>1e10</max_nbytes>
<upload_when_present/>
</file_info>
RESULT_XML
<workunit>
<name>result.name</name>
<app_name>FILE_MOVER</app_name>
</workunit>
config.xml の中に、
<msg_to_host/>を含めてください。 アップロード証明書をこれらのファイルとともに送る方法がないので、今は
<ignore_upload_certificates/>を含めておく必要があります。