mirror of https://github.com/BOINC/boinc.git
381e0caf14
This supports the TACC use case, in the jobs in a batch can use different Docker images and different input and output file signatures, none of which are known in advance. Python API binding: - A JOB_DESC object can optionally contain wu_template and result_template elements, which are the templates (the actual XML) to use for that job. Add these to the XML request message if present. - Added the same capability to the PHP binding, but not C++. - Added and debugged test cases for both languages. Also, submit_batch() can take either a batch name (in which case the batch is created) or a batch ID (in which the batch was created prior to remotely staging files). RPC handler: - in submit_batch(), check for jobs with templates specified and store them in files. For input templates (which are deleted after creating jobs) we put them in /tmp, and use a map so that if two templates are the same we use 1 file. For output templates (which have to last until all jobs are done) we put them in templates/tmp, with content-based filenames to economize. - When creating jobs, or generating SQL strings for multiple jobs, use these names as --wu_template_filename and --result_template_filename args to create_work (either cmdline args or stdin args) - Delete WU templates when done create_work.cpp: handle per-job --wu_template and --result_template args in stdin job lines (the names of per-job WU and result templates). Maintain a map mapping WU template name to contents, to avoid repeatedly reading them. For jobs that don't specify templates, use the ones specified at the batch level, or the defaults. |
||
---|---|---|
.. | ||
Makefile.am | ||
appmgr | ||
backend_lib.cpp | ||
backend_lib.h | ||
boinc_submit | ||
cancel_jobs.cpp | ||
check_project | ||
cleanlogs.sh | ||
compare_pot | ||
create_work.cpp | ||
create_work_example | ||
db_query | ||
dbcheck_files_exist | ||
demo_query | ||
demo_submit | ||
dir_hier_move.cpp | ||
dir_hier_path.cpp | ||
example_app_in | ||
example_app_out | ||
grep_logs | ||
gui_urls.xml | ||
hr_db_convert.cpp | ||
ict_job | ||
kill_wu.cpp | ||
make_project | ||
makelog.sh | ||
manage_privileges | ||
parse_config | ||
poll_wu.cpp | ||
process_input_template.cpp | ||
process_input_template.h | ||
process_result_template.cpp | ||
project.xml | ||
remote_submit | ||
remote_submit_test.cpp | ||
run_in_ops | ||
sign_executable.cpp | ||
stage_file | ||
submit_api_test.py | ||
tree_threader_splitter | ||
update_versions | ||
update_versions_v6 | ||
updater.cpp | ||
upgrade | ||
vote_monitor | ||
watch_tcp | ||
xadd |