command line in template

svn path=/trunk/boinc/; revision=10053
This commit is contained in:
David Anderson 2006-04-28 16:59:53 +00:00
parent 2feaaac572
commit 22853c9ab6
5 changed files with 43 additions and 20 deletions

View File

@ -4249,3 +4249,12 @@ Charlie 28 Apr 2006
Make_BOINC_Service.sh
boinc.xcodeproj/
project.pbxproj
David 28 Apr 2006
- create_work (both program and function): handle
<command_line> element in WU template file
html/inc/
stats_sites.inc
tools/
backend_lib.C

View File

@ -43,8 +43,14 @@ Show if the servers of various projects are up or down.
</td><td valign=top>
<h2>Credit statistics</h2>
";
shuffle($stats_sites);
site_list($stats_sites);
echo "
<h2>Team statistics</h2>
";
shuffle($team_stats_sites);
site_list($team_stats_sites);
echo "
</td></tr></table>
<h2>Information, message boards, and teams</h2>
";

View File

@ -241,14 +241,15 @@ In this case, shortfall(A) is 4, shortfall(B) is 0, and total_shortfall is 2.
<br>
The scheduling policy is:
<ol>
<li> Set the 'anticipated debt' of each project to its short-term debt
<li> Let P be the project with the earliest-deadline runnable result
among projects with deadlines_missed(P)>0.
Let R be P's earliest-deadline runnable result not scheduled yet.
Tiebreaker: least index in result array.
<li> If such an R exists, schedule R and decrement deadlines_missed(P).
<li> If such an R exists, schedule R,
decrement P's anticipated debt, and decrement deadlines_missed(P).
<li> If there are more CPUs, and projects with deadlines_missed(P)>0, go to 1.
<li> If all CPUs are scheduled, stop.
<li> Set the 'anticipated debt' of each project to its short-term debt
<li> Find the project P with the greatest anticipated debt,
select one of P's runnable results
(picking one that is already running, if possible,

View File

@ -1,21 +1,11 @@
<?php
$cpid_stats_sites = array(
array("BOINCStats",
"http://www.boincstats.com/stats/boinc_user_graph.php?pr=bo&id=%s"
),
array("BOINC Statistics for the WORLD!",
"http://www.boincsynergy.com/stats/boinc-individual.php?cpid=%s"
),
array("BOINC Combined Statistics",
"http://boinc.netsoft-online.com/get_user.php?cpid=%s&html=1"
),
array("The Knights Who Say 'Ni!'",
"http://stats.kwsn.net/user.php?proj=all&cpid=%s"
),
);
$stats_sites = array(
array(
"http://www.boincuk.com/globalprojectstats.php",
"BOINC UK",
""
),
array("http://www.setisynergy.com/stats/index.php",
"BOINC Statistics for the WORLD!",
"developed by Zain Upton (email: zain.upton at setisynergy.com)"
@ -36,8 +26,6 @@ $stats_sites = array(
"DC-Vault",
"Include non-BOINC projects"
),
array("http://boincdenmark.dk/", "BOINC@Denmark", "(Danish)"),
array("http://boincdenmark.dk/default_en.html", "BOINC@Denmark", "(English)"),
array("http://www.seti.nl/boinc_team.php",
"SETI@Netherlands stats page",
""
@ -59,6 +47,11 @@ $stats_sites = array(
"Team OcUK stats",
""
),
);
$team_stats_sites = array(
array("http://boincdenmark.dk/", "BOINC@Denmark", "(Danish)"),
array("http://boincdenmark.dk/default_en.html", "BOINC@Denmark", "(English)"),
array("http://www.bigbee.be/comp/boinc/index.php",
"Boinc.be team stats",
""
@ -66,6 +59,10 @@ $stats_sites = array(
);
$sig_sites = array(
array("BOINC UK",
"http://www.boincuk.com/show3.php",
"Highly configurable!"
),
array("http://boinc.mundayweb.com/",
"http://boinc.mundayweb.com",
"user-configurable stats counters. Cool!"

View File

@ -44,6 +44,8 @@
#define FCGI_ToFILE(x) (x)
#endif
using std::string;
static struct random_init {
random_init() {
srand48(getpid() + time(0));
@ -169,7 +171,7 @@ static int process_wu_template(
) {
char* p;
char buf[LARGE_BLOB_SIZE], md5[33], path[256], url[256], top_download_path[256];
std::string out;
string out, cmdline;
int retval, file_number;
double nbytes;
char open_name[256];
@ -280,6 +282,14 @@ static int process_wu_template(
break;
}
}
} else if (parse_str(p, "<command_line>", cmdline)) {
if (command_line) {
fprintf(stderr, "Can't specify command line twice");
return ERR_XML_PARSE;
}
out += "<command_line>\n";
out += cmdline;
out += "\n</command_line>\n";
} else if (parse_double(p, "<rsc_fpops_est>", wu.rsc_fpops_est)) {
continue;
} else if (parse_double(p, "<rsc_fpops_bound>", wu.rsc_fpops_bound)) {