Open-source software for volunteer computing and grid computing.
Go to file
David Anderson 381e0caf14 Remote job submission: add support for per-job templates in submit requests
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.
2017-01-21 00:24:11 -08:00
.tx Locale: fix transifex config to adjust for changes in #1703 2017-01-03 11:53:40 +01:00
android Locale: Update localization files [skip ci] 2017-01-03 12:12:31 +01:00
api API: Cleanup low hanging fruit with regards to cleaning up strcpy and strcat use. 2016-02-15 20:11:03 -05:00
apps
build BUILD: force building wxWidgets if cache is empty 2015-03-03 09:00:32 +01:00
client client: include # GPUs in <host_info> XML, including acct mgr requests 2017-01-12 13:15:42 -08:00
clientctrl WINBUILD: Update build environment to use Visual Studio 2010. 2013-10-17 15:27:03 -04:00
clientgui more 2016->2017 changes 2017-01-12 13:21:37 -08:00
clientscr SCR: Mac: continue replacing deprecated Mac APIs 2016-12-16 04:28:41 -08:00
clientsetup/win WINBUILD: Since the installer custom actions now depend on libboinc and parts of it can be shared with other platforms, move it into a more neutral location. 2016-02-11 16:32:02 -05:00
clienttray LIB: Revert 42d1645b82 and remove the heap check in the tray applet. 2014-03-07 14:42:14 -05:00
coprocs/NVIDIA COPROCS: Update the NVAPI library to r334 2014-04-30 19:15:11 -04:00
curl CURL: Remove an old Verisign root certificate. 2015-12-14 16:07:42 -05:00
db Validator: add res.workunitid so it can be used in the custom handler 2016-09-15 13:42:17 +02:00
doc BOINC web: don't show mediawiki pages as https; doesn't work 2017-01-20 00:03:17 -08:00
drupal Merge pull request #1760 from drshawnkwang/drupal_fix-removedebugstm 2017-01-19 08:48:47 -05:00
html Remote job submission: add support for per-job templates in submit requests 2017-01-21 00:24:11 -08:00
lib Remote job submission: add support for per-job templates in submit requests 2017-01-21 00:24:11 -08:00
locale Locale: Update localization files [skip ci] 2017-01-03 12:21:11 +01:00
m4 Work around for bug in RHEL6 curl 7.19.7 port (curl-config --libs reports 2016-09-07 16:31:13 -07:00
mac3rdParty Mac: new script to allow building with Travis-CI. 2015-11-30 02:57:11 -08:00
mac_build Mac installer & uninstaller: replace all deprecated Mac APIs as of OS 10.12 2017-01-06 01:53:47 -08:00
mac_installer Mac installer: update comments explaining how to install BOINC Manager from the command line. 2017-01-09 21:43:59 -08:00
packages MGR: Update BOINC icon set to v5. 2014-03-05 15:29:51 -05:00
py Initial commit for Bootstrap 2016-11-11 12:36:27 -08:00
samples Merge pull request #1671 from DAD-Grid/android-wrapper 2016-11-25 02:41:02 -08:00
sched remove compile warnings. Should have done this long ago! 2017-01-20 00:01:25 -08:00
stripchart
test
tools Remote job submission: add support for per-job templates in submit requests 2017-01-21 00:24:11 -08:00
vda Server: use MAXPATHLEN for char arrays when they contain filenames 2016-04-25 09:33:26 +02:00
win_build client: fix compile errors and warnings 2016-12-22 11:25:44 -08:00
xcompile Fixed avx detection on GCC windows compiles 2014-06-20 07:48:31 -07:00
zip Move duplicated zip / unzip code to a one place. 2015-12-20 21:07:47 +03:00
.gitattributes Update .gitattributes to include a number of additional file types. 2014-06-25 16:21:19 -04:00
.gitignore Merge pull request #1713 from BOINC/update_transifex 2016-11-23 13:52:21 +01:00
.scrutinizer.yml Build: update scrutinizer config 2016-09-02 17:13:54 +02:00
.travis.yml Travis-CI: disable notifications override 2016-02-09 10:52:05 +01:00
.vimrc
COPYING
COPYING.LESSER
COPYRIGHT
INSTALL [1153] typo in file INSTALL 2016-01-11 20:50:38 -08:00
Makefile.am BUILD: boinc_zip library is needed by wrapper 2015-02-12 17:33:17 +01:00
Makefile.incl sign_executable: remove dependence on MySQL libs 2017-01-19 23:58:49 -08:00
README.md add scrutinizer-ci badge 2016-09-06 09:37:41 +02:00
TODO_OLD
_autosetup _autosetup: use sh instead of bash, no longer check for gmake 2016-02-29 07:28:37 +07:00
bolt_checkin_notes.txt
build_pos Locale: permanently move web translations 2016-11-16 21:54:07 +01:00
checkin_notes Check email list 2015-07-27 13:51:53 -04:00
checkin_notes_2002
checkin_notes_2003
checkin_notes_2004
checkin_notes_2005
checkin_notes_2006
checkin_notes_2007
checkin_notes_2008
checkin_notes_2009
checkin_notes_2010
checkin_notes_2011
checkin_notes_2012
checkin_notes_samples
configure.ac configure: check curl only if building client 2016-12-17 11:27:19 -08:00
coverity-model.cpp add coverity model file 2015-10-23 09:26:32 +02:00
generate_svn_version.sh Fixed generate_svn_version.sh when building on detached head 2016-02-27 12:01:00 +07:00
gitlog2boinclog.sh
gl.py more 2016->2017 changes 2017-01-12 13:21:37 -08:00
notes
project_specific_defines.h
set-version
testbase
todo
version.h BUILD: Update vboxwrappers version to 26197. 2016-08-08 08:10:17 -07:00
version.h.in BUILD: Re-enable the alpha/beta flag for the master branch. 2014-07-29 20:03:04 -04:00
version.log BUILD: Test github merge 2015-02-14 09:50:38 -05:00

README.md

Status

Build Status Coverity Scan Build Status Scrutinizer Code Quality

BOINC

Project Website: https://boinc.berkeley.edu

Want to create a project

See: https://boinc.berkeley.edu/trac/wiki

Want to help translate

See: https://boinc.berkeley.edu/trac/wiki/TranslateIntro

Want to contribute

See: https://boinc.berkeley.edu/trac/wiki/SoftwareDevelopment

Note

The University of California holds the copyright on all BOINC source code. By submitting contributions to the BOINC code, you irrevocably assign all right, title, and interest, including copyright and all copyright rights, in such contributions to The Regents of the University of California, who may then use the code for any purpose that it desires.

License

BOINC is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

BOINC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with BOINC. If not, see http://www.gnu.org/licenses/.