Commit Graph

21 Commits

Author SHA1 Message Date
David Anderson 4539eef345 changes to support the job processing cookbook
- script_assimilator: add batch_id option
- add/fix comments
- demo_submit_batch, sample_assimilate.py: finish
-
2024-01-12 00:58:14 -08:00
Vitalii Koshura 92a9b34e9c
[linux] Move all fcgi dependent stdio functions to the separate 'boinc_stdio.h' header only file
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2023-02-12 19:50:22 +01:00
David Anderson b38bf1d983 stage_file and remote file management: fix bug with .md5 file mod time
In some cases of file staging (both remote and via stage_file)
we'd do the following:
1) create the .md5 file (in check_download_file())
2) move or copy the file into the download dir

This can result in the file having a later mod time than the .md5 file,
which causes process_input_template() to reject the .md5 file.

Solution: touch the .md5 file after the move or copy
2017-05-25 20:26:36 -07:00
David Anderson 4ffe582194 server: add support for constant input files
See http://boinc.berkeley.edu/trac/wiki/JobTemplates

Also remove the <number> and <file_number> nonsense from input templates.
<file_ref> i corresponds to <file_info> i
2017-01-13 00:23:01 -08:00
Christian Beer c57cee5ca6 create_work: use file_name as open_name when copy_file is set
If no open_name is specified in a file_ref element of the input template but copy_file is set for this file use the physical filename as logical filename.
2016-03-23 14:59:49 +01:00
Christian Beer d160bb371b ignore time of check to of use defect
This is intentional and only an issue if multiple work generators are creating input files that have the same name but different content.
Ignores CID 27922, 27993 found by Coverity
2015-10-22 14:44:23 +02:00
David Anderson 3a82ec871f create_work: fix bug when using remote input files 2014-04-25 22:15:47 -07:00
David Anderson 944e5a3b29 job submission: generate physical name for remote input files
Don't require job submitters to come up with (unique) names
for remote input files.  Just use "jf_MD5".
2014-04-21 13:19:10 -07:00
David Anderson 46d90b2b60 server: improve support for remote input files
A "remote input file" is located on a data server other than the project server.
Previously these could be specified only in the input template,
which was of limited utility.
Add new ways of specifying remote input files:
1) in the create_work program, a remote input file can be specified
  with command-line args
  --remote_file name URL nbytes MD5
  or by the same syntax in stdin when creating multiple jobs
2) add a variant of create_work() called create_work2(),
  which takes a vector of INFILE_DESC structures that can specify
  either local or remote files
2014-04-20 23:52:51 -07:00
David Anderson c3cbf29af3 create_work: add --stdin option for more efficient batch creation
Previously if you wanted to create lots of jobs from a script (e.g. PHP)
you had to run create_work once per job.
With the --stdin option you run it once,
passing it a file (view stdin) with one line per job.
Each line can specify a command line and/or a set of input files.

On my server this gives a performance of about 1000 jobs per minute,
which is less than I would have expected,
but all the time is spent in doing MySQL inserts
so that's as good as we can do for now.

Also fix a bug in stage_file.
2014-04-07 09:07:00 -07:00
David Anderson 97229c0fcf Server: enable gzipped input files, and fix bugs in MD5 caching
The docs said that putting <gzip/> for a file in your input template
would cause it to be transferred in gzip form.
But most of the server-side implementation was missing.

- in process_input_template(), parse <gzip/>,
  and add <gzipped_url> elements to the output.
- stage_file was generating MD5 cache files containing only the MD5,
  but process_input_template() expected them to contain file size as well.
  Change stage_file to write both,
  and change process_input_template() to write an error message
  if it finds a bad MD5 file.
- remove stuff from process_input_template() related to
  "generated_locally", a feature that doesn't exist anymore.
2014-03-26 15:15:16 -07:00
David Anderson 78f7610f6e remove dependency of boinc_api.h on str_replace.h (and hence config.h)
Any files that use strlcpy() or strlcat() must directly include str_replace.h
2013-06-06 17:31:46 -07:00
David Anderson b9f0733c06 server: replace strcpy() with strlcpy() various places 2013-06-03 22:42:53 -07:00
David Anderson 3ce09f1efe create_work: job input template can specify size class 2013-05-21 20:24:02 -07:00
David Anderson 77ee073f58 - client: show error notice if a GPU exclusion (in cc_config.xml)
has an invalid URL, type, or app
- server, create_work() function: if a <file_info> in input template
    lists URLs, they're directories; append filename to each one
2013-03-05 16:57:51 +01:00
David Anderson 19458ba4de - Compile fixes for Fedora core 17. From Christian B. Fixes #1194.
- Fix various #include issues.

CODING STYLE LAW (minimal inclusion principle):
    If foo.cpp requires <blah.h>,
    #include <blah.h> in foo.cpp, NOT foo.h


svn path=/trunk/boinc/; revision=25837
2012-07-02 18:51:02 +00:00
David Anderson 32a08d27d9 - C++ code: use MAXPATHLEN for char arrays that hold paths
svn path=/trunk/boinc/; revision=25659
2012-05-09 16:11:50 +00:00
David Anderson f12e82917f - back end: print error messages instead of numbers in several places
svn path=/trunk/boinc/; revision=25584
2012-04-20 17:23:07 +00:00
David Anderson 33b607dab1 - upgrade script:
- prompt user for DB user/passwd if DB updates needed
    - error out immediately if any DB update fails
    Fixes #1169, #1170
- create_work: check for duplicate <file_info>s in input template
    NOTE: the input template syntax is pretty clunky


svn path=/trunk/boinc/; revision=24969
2012-01-02 07:33:08 +00:00
David Anderson f75ffd88f2 - server: factor process_input_template() into smaller pieces
svn path=/trunk/boinc/; revision=24108
2011-09-01 20:26:12 +00:00
David Anderson c529c3c50d - server: rename process_wu_template() to process_input_template(),
and move it to its own file


svn path=/trunk/boinc/; revision=24107
2011-09-01 19:58:27 +00:00