mirror of https://github.com/BOINC/boinc.git
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".
This commit is contained in:
parent
6c3a5792e2
commit
944e5a3b29
|
@ -153,8 +153,6 @@ function stage_file($file) {
|
|||
xml_error(-1, "BOINC server: can't write to file $path");
|
||||
}
|
||||
return $name;
|
||||
case "remote":
|
||||
return "jf_".$file->md5;
|
||||
}
|
||||
xml_error(-1, "BOINC server: unsupported file mode: $file->mode");
|
||||
}
|
||||
|
@ -164,7 +162,9 @@ function stage_file($file) {
|
|||
function stage_files(&$jobs, $template) {
|
||||
foreach($jobs as $job) {
|
||||
foreach ($job->input_files as $file) {
|
||||
$file->name = stage_file($file);
|
||||
if ($file->mode != "remote") {
|
||||
$file->name = stage_file($file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ function submit_jobs($jobs, $template, $app, $batch_id, $priority) {
|
|||
}
|
||||
foreach ($job->input_files as $file) {
|
||||
if ($file->mode == "remote") {
|
||||
$x .= " --remote_file $file->name $file->url $file->nbytes $file->md5";
|
||||
$x .= " --remote_file $file->url $file->nbytes $file->md5";
|
||||
} else {
|
||||
$x .= " $file->name";
|
||||
}
|
||||
|
|
|
@ -27,12 +27,17 @@
|
|||
// describes an input file, possibly remote
|
||||
//
|
||||
struct INFILE_DESC {
|
||||
char name[1024]; // physical name
|
||||
bool is_remote;
|
||||
// the following defined if remote
|
||||
|
||||
// the following defined if remote (physical name is jf_MD5)
|
||||
//
|
||||
double nbytes;
|
||||
char md5[64];
|
||||
char url[1024]; // make this a vector to support multiple URLs
|
||||
|
||||
// the following defined if not remote
|
||||
//
|
||||
char name[1024]; // physical name
|
||||
};
|
||||
|
||||
extern int add_signatures(char*, R_RSA_PRIVATE_KEY&);
|
||||
|
|
|
@ -141,7 +141,6 @@ void JOB_DESC::parse_cmdline(int argc, char** argv) {
|
|||
} else if (arg(argv, i, (char*)"remote_file")) {
|
||||
INFILE_DESC id;
|
||||
id.is_remote = true;
|
||||
strcpy(id.name, argv[++i]);
|
||||
strcpy(id.url, argv[++i]);
|
||||
id.nbytes = atof(argv[++i]);
|
||||
strcpy(id.md5, argv[++i]);
|
||||
|
@ -261,7 +260,6 @@ int main(int argc, char** argv) {
|
|||
} else if (arg(argv, i, (char*)"remote_file")) {
|
||||
INFILE_DESC id;
|
||||
id.is_remote = true;
|
||||
strcpy(id.name, argv[++i]);
|
||||
strcpy(id.url, argv[++i]);
|
||||
id.nbytes = atof(argv[++i]);
|
||||
strcpy(id.md5, argv[++i]);
|
||||
|
|
|
@ -239,12 +239,12 @@ static int process_file_info(
|
|||
strcat(buf, "</file_info>\n");
|
||||
} else if (infile.is_remote) {
|
||||
sprintf(buf,
|
||||
" <name>%s</name>\n"
|
||||
" <name>jf_%s</name>\n"
|
||||
" <url>%s</url>\n"
|
||||
" <md5_cksum>%s</md5_cksum>\n"
|
||||
" <nbytes>%.0f</nbytes>\n"
|
||||
"</file_info>\n",
|
||||
infile.name,
|
||||
infile.md5,
|
||||
infile.url,
|
||||
infile.md5,
|
||||
infile.nbytes
|
||||
|
|
Loading…
Reference in New Issue