[[PageOutline]] = Submitting jobs locally = == On the command line == #creatework-tool '''create_work''' is a command-line tool for submitting jobs. Run it from the project root directory. {{{ create_work [ arguments ] infile_1 ... infile_n }}} Mandatory arguments are: --appname name:: application name Optional arguments are: --wu_name name:: workunit name (default: appname_PID_TIME) --wu_template filename:: WU template filename relative to project root; usually in templates/. Default: templates/appname_in. --result_template filename:: [JobTemplates result template] filename, relative to project root; usually in templates/. Default: templates/appname_out. --batch n:: --priority n:: high values are assigned before low values; see --priority_order and --priority_order_create_time options on the [BackendPrograms#feeder feeder] The following [JobIn job parameters] may be passed in the [JobTemplates input template], or as command-line arguments to create_work; the input template has precedence. If not specified, the given defaults will be used. --command_line "-flags foo":: --rsc_fpops_est x:: FLOPs estimate; default 3600e9 --rsc_fpops_bound x:: FPOPs bound; default 86400e9 --rsc_memory_bound x:: default 5e8 --rsc_disk_bound x:: default 1e9 --rsc_bandwidth_bound x:: 0 (no bound) --delay_bound x:: default 1 week --min_quorum x:: default 2 --target_nresults x:: default 2 --max_error_results x:: default 3 --max_total_results x:: default 10 --max_success_results x:: default 6 --opaque N:: --additional_xml 'x':: This can be used to supply, for example, 12.4. == From a C++ program == #cpp-workgen BOINC's library provides a function for submitting jobs: {{{ int create_work( DB_WORKUNIT& wu, const char* wu_template, // contents, not path const char* result_template_filename, // relative to project root const char* result_template_filepath, // absolute or relative to current dir const char** infiles, // array of input file names int ninfiles SCHED_CONFIG&, const char* command_line = NULL, const char* additional_xml = NULL ); }}} The ''name'' and ''appid'' fields of the DB_WORKUNIT structure must always be initialized. Other job parameters may be passed either in the DB_WORKUNIT structure or in the [JobTemplates input template file] (the latter has priority). On a successful return, wu.id contains the database ID of the workunit. == Code examples for work generators == There are some [WorkGeneration basic examples for work generators] available.