Retrieving files
A persistent file can be retrieved from a specific host. This can be done using the function
get_file(int host_id, const char* file_name)
or the command line program (run in the project root dir)
get_file -host_id X -file_name Y
This program must be run in the project's root directory. get_file() creates a result with a name of the form:
get_FILENAME_HOSTID_TIME
Example: get_test.mpg_34_123456789 is a result representing the upload of test.mpg from host number 34 at time 1234567891.
An upload message is created for the specific host and added to the msg_to_host table in the database. This message instructs the client to upload the file and acknowledge a successful upload. The upload message included in the next RPC reply to the host. The message has the form:
<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>
Include
<msg_to_host/>
in config.xml. Currently
<ignore_upload_certificates/>
needs to be included as there is no way to send upload certificates with these files.