scheduler rpc error handling

svn path=/trunk/boinc/; revision=497
This commit is contained in:
David Anderson 2002-10-14 23:37:41 +00:00
parent 7f3da8dcbf
commit fcd410b3b5
1 changed files with 29 additions and 3 deletions

View File

@ -37,12 +37,20 @@ SCHEDULER_OP::SCHEDULER_OP(HTTP_OP_SET* h) {
// try to get enough work to bring us up to high-water mark // try to get enough work to bring us up to high-water mark
// //
int SCHEDULER_OP::init_get_work() { int SCHEDULER_OP::init_get_work() {
int retval;
double ns = gstate.work_needed_secs(); double ns = gstate.work_needed_secs();
must_get_work = true; must_get_work = true;
project = gstate.next_project(0); project = gstate.next_project(0);
if (project) { if (project) {
init_op_project(ns); if( (retval=init_op_project(ns)) ) {
project->nrpc_failures++;
set_min_rpc_time(project);
if (log_flags.sched_op_debug) {
printf("init_get_work failed, error %d\n", retval);
}
return retval;
}
} }
return 0; return 0;
} }
@ -287,7 +295,16 @@ bool SCHEDULER_OP::poll() {
if (must_get_work) { if (must_get_work) {
project = gstate.next_project(project); project = gstate.next_project(project);
if (project) { if (project) {
init_op_project(gstate.work_needed_secs()); if( (retval=init_op_project(gstate.work_needed_secs())) ) {
project->nrpc_failures++;
set_min_rpc_time(project);
if (log_flags.sched_op_debug) {
printf(
"scheduler init_op_project to %s failed, error %d\n",
project->scheduler_urls[url_index].text, retval
);
}
}
} else { } else {
scheduler_op_done = true; scheduler_op_done = true;
} }
@ -309,7 +326,16 @@ bool SCHEDULER_OP::poll() {
if (x > 0) { if (x > 0) {
project = gstate.next_project(project); project = gstate.next_project(project);
if (project) { if (project) {
init_op_project(x); if( (retval=init_op_project(x)) ) {
project->nrpc_failures++;
set_min_rpc_time(project);
if (log_flags.sched_op_debug) {
printf(
"scheduler init_op_project to %s failed, error %d\n",
project->scheduler_urls[url_index].text, retval
);
}
}
} else { } else {
scheduler_op_done = true; scheduler_op_done = true;
} }