mirror of https://github.com/BOINC/boinc.git
svn path=/trunk/boinc/; revision=15545
This commit is contained in:
parent
c478b9f9e0
commit
9299d34c20
|
@ -76,6 +76,12 @@ boinc-options:
|
||||||
Direct f to the program's stdin
|
Direct f to the program's stdin
|
||||||
--stdout f
|
--stdout f
|
||||||
Direct the program's stdout to f
|
Direct the program's stdout to f
|
||||||
|
--wait jobID
|
||||||
|
Wait for the completion of an existing job
|
||||||
|
--abort jobID
|
||||||
|
Abort an existing job
|
||||||
|
--jobs
|
||||||
|
Show pending jobs
|
||||||
--help
|
--help
|
||||||
Print this
|
Print this
|
||||||
";
|
";
|
||||||
|
@ -397,6 +403,11 @@ function parse_args($argc, $argv) {
|
||||||
case '--wait':
|
case '--wait':
|
||||||
$wuid = $argv[++$i];
|
$wuid = $argv[++$i];
|
||||||
wait();
|
wait();
|
||||||
|
case '--abort':
|
||||||
|
$wuid = $argv[++$i];
|
||||||
|
abort_job($wuid);
|
||||||
|
case '--show':
|
||||||
|
show_jobs();
|
||||||
default:
|
default:
|
||||||
if ($program) {
|
if ($program) {
|
||||||
$cmdline_args .= ''.$argv[$i];
|
$cmdline_args .= ''.$argv[$i];
|
||||||
|
@ -409,6 +420,33 @@ function parse_args($argc, $argv) {
|
||||||
if (!$program) usage();
|
if (!$program) usage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function abort_job($wuid) {
|
||||||
|
$wu = BoincWorkunit::lookup_id($wu_id);
|
||||||
|
if (!$wu) error_page("No such job");
|
||||||
|
$app = BoincApp::lookup_id($wu->appid);
|
||||||
|
if (!strstr($app->name, "single_job")) {
|
||||||
|
error_page("Not a boinc_submit job");
|
||||||
|
}
|
||||||
|
$x = $wu->error_mask | 16;
|
||||||
|
$now = time();
|
||||||
|
BoincResult::update_aux("server_state=5, outcome=5 where server_state=2 and workunitid=$wuid");
|
||||||
|
$wu->update("error_mask=$x and transition_time=$now");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show_jobs() {
|
||||||
|
$apps = BoincApp::enum();
|
||||||
|
foreach($apps as $app) {
|
||||||
|
if (!strstr($app->name, "single_job")) continue;
|
||||||
|
$platform = BoincPlatform::lookup_id($app->platformid);
|
||||||
|
echo "Jobs for $platform->user_friendly_name:\n";
|
||||||
|
$wus = BoincWorkunit::enum("appid=$app->id");
|
||||||
|
foreach $wus as $wu {
|
||||||
|
echo "$wu->id: state $wu->assimilate_state\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function show_result($result, $i) {
|
function show_result($result, $i) {
|
||||||
switch ($result->server_state) {
|
switch ($result->server_state) {
|
||||||
case 2:
|
case 2:
|
||||||
|
|
Loading…
Reference in New Issue