Changes between Version 16 and Version 17 of WrapperApp
- Timestamp:
- Jul 20, 2007, 9:12:01 AM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WrapperApp
v16 v17 52 52 * Compile the program 'worker' from the [ExampleApps boinc_samples] tree, producing (say) 'worker_5.10_windows_intelx86.exe'. This is the legacy app. If reads from stdin and writes to stdout; it also opens and reads a file 'in', and opens and writes a file 'out'. It takes one command-line argument: the number of CPU seconds to use. 53 53 * Compile the program 'wrapper' from the [ExampleApps boinc_samples] tree, producing (say) 'wrapper_5.10_windows_intelx86.exe'. This program executes your legacy application, and acts as a proxy for it (to report CPU time etc.). 54 * Using the [MakeProject make_project worker] command (in BOINC_SOURCE/tools/), create the server components of your project, called 'worker'. In the 'project/worker/apps' directory create the following sub-directories: 'worker/wrapper_5.10_windows_intelx86.exe/'. Put the files 'wrapper_5.10_windows_intelx86.exe', and 'worker_5.10_windows_intelx86.exe' there. 54 * [MakeProject Create a project] if you haven't already done so. 55 * [AppVersion Create an application] named 'worker' and a corresponding directory 'PROJECT/apps/worker'. In this directory, create a directory 'wrapper_5.10_windows_intelx86.exe'. Put the files 'wrapper_5.10_windows_intelx86.exe', and 'worker_5.10_windows_intelx86.exe' there. 55 56 * In the same directory, create a file 'job.xml=job_1.12.xml' (1.12 is a version number) containing 56 57 {{{ … … 65 66 }}} 66 67 This file (which has logical name 'job.xml' and physical name 'job_1.12.xml') is read by 'wrapper'; it tells it the name of the legacy program, what files to connect to its stdin/stdout, and a command line. 67 * In the ' project/worker/templates' directory create a workunit template file, e.g., 'worker_wu'68 * In the 'PROJECT/templates' directory create a workunit template file called 'worker_wu': 68 69 {{{ 69 70 <file_info> … … 87 88 </workunit> 88 89 }}} 89 and a result template file , e.g.,'worker_result'90 and a result template file called 'worker_result' 90 91 {{{ 91 92 <file_info> … … 115 116 </result> 116 117 }}} 117 * Make sure the application name and the user friendly name (given in the make_project command above) in the last few lines of the 'project/worker/project.xml' file are correct ('worker' in this case). 118 * In the 'project/worker/config.xml' file change the value of <disable_account_creation> form 0 to 1 if you want to enable people connecting to your project to create accounts. 119 * At the end of this file is where you can change or add daemons to control your application. 120 * Run [XaddTool bin/xadd] from the '/project/worker' directory to add platform and application records to the BOINC database. 121 * Run [UpdateVersions bin/update_versions] to create an app version and to copy the files needed by Boinc to the 'project/worker/download' directory. 118 * Run [UpdateVersions bin/update_versions] to create an app version and to copy the application files to the 'PROJECT/download' directory. 122 119 * Run [StartTool 'bin/start'] to start the daemons. 123 120 * Run a script like 124 121 {{{ 122 #! /bin/sh 125 123 cp download/input `bin/dir_hier_path input` 126 124 cp download/input2 `bin/dir_hier_path input2` … … 131 129 input input2 132 130 }}} 133 to generate a workunit. Note that the order of the input files in the 'create_work' command has to be the same as in the workunit template file (worker_wu). If this is not satisfied,the client will generate errors when processing the workunit.131 to generate a workunit. The order of the input files in the 'create_work' command has to be the same as in the workunit template file (worker_wu). Otherwise the client will generate errors when processing the workunit. 134 132 135 133 To understand how all this works: at the beginning of execution, the file layout is: