mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=2015
This commit is contained in:
parent
16be8561bb
commit
77ca2b59b3
|
@ -545,7 +545,6 @@ int handle_results(
|
||||||
result.client_state = rp->client_state;
|
result.client_state = rp->client_state;
|
||||||
result.cpu_time = rp->cpu_time;
|
result.cpu_time = rp->cpu_time;
|
||||||
result.claimed_credit = result.cpu_time * host.credit_per_cpu_sec;
|
result.claimed_credit = result.cpu_time * host.credit_per_cpu_sec;
|
||||||
fprintf(stderr, "cpu %e, cps %e, cc %e\n", result.cpu_time, host.credit_per_cpu_sec, result.claimed_credit);
|
|
||||||
result.server_state = RESULT_SERVER_STATE_OVER;
|
result.server_state = RESULT_SERVER_STATE_OVER;
|
||||||
// TODO: if client application aborted e.g. exceeded resource limits,
|
// TODO: if client application aborted e.g. exceeded resource limits,
|
||||||
// should client_state be RESULT_OUTCOME_CLIENT_ERROR ?
|
// should client_state be RESULT_OUTCOME_CLIENT_ERROR ?
|
||||||
|
@ -591,7 +590,7 @@ fprintf(stderr, "cpu %e, cps %e, cc %e\n", result.cpu_time, host.credit_per_cpu_
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int insert_name_tags(RESULT& result, WORKUNIT& wu) {
|
int insert_name_tags(RESULT& result, WORKUNIT const& wu) {
|
||||||
char buf[256];
|
char buf[256];
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
|
@ -604,6 +603,14 @@ int insert_name_tags(RESULT& result, WORKUNIT& wu) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int insert_deadline_tag(RESULT& result) {
|
||||||
|
char buf[256];
|
||||||
|
sprintf(buf, "<report_deadline>%d</report_deadline>\n", result.report_deadline);
|
||||||
|
int retval = insert_after(result.xml_doc_in, "<result>\n", buf);
|
||||||
|
if (retval) return retval;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int send_work(
|
int send_work(
|
||||||
SCHEDULER_REQUEST& sreq, SCHEDULER_REPLY& reply, PLATFORM& platform,
|
SCHEDULER_REQUEST& sreq, SCHEDULER_REPLY& reply, PLATFORM& platform,
|
||||||
SCHED_SHMEM& ss
|
SCHED_SHMEM& ss
|
||||||
|
@ -652,29 +659,35 @@ int send_work(
|
||||||
);
|
);
|
||||||
if (retval) continue;
|
if (retval) continue;
|
||||||
|
|
||||||
|
int wu_seconds_filled = (int) estimate_duration(wu, reply.host);
|
||||||
|
|
||||||
log_messages.printf(
|
log_messages.printf(
|
||||||
SchedMessages::NORMAL,
|
SchedMessages::NORMAL,
|
||||||
"[HOST#%d] Sending [RESULT#%d %s]\n",
|
"[HOST#%d] Sending [RESULT#%d %s] (fills %d seconds)\n",
|
||||||
reply.host.id, result.id, result.name
|
reply.host.id, result.id, result.name, wu_seconds_filled
|
||||||
);
|
);
|
||||||
|
|
||||||
|
result.server_state = RESULT_SERVER_STATE_IN_PROGRESS;
|
||||||
|
result.hostid = reply.host.id;
|
||||||
|
result.sent_time = time(0);
|
||||||
|
result.report_deadline = result.sent_time + wu.delay_bound;
|
||||||
|
result.update();
|
||||||
|
|
||||||
// copy the result so we don't overwrite its XML fields
|
// copy the result so we don't overwrite its XML fields
|
||||||
//
|
//
|
||||||
result_copy = result;
|
result_copy = result;
|
||||||
|
|
||||||
retval = insert_name_tags(result_copy, wu);
|
retval = insert_name_tags(result_copy, wu);
|
||||||
if (retval) {
|
if (retval) {
|
||||||
log_messages.printf(SchedMessages::NORMAL, "send_work: can't insert name tags\n");
|
log_messages.printf(SchedMessages::CRITICAL, "send_work: can't insert name tags\n");
|
||||||
|
}
|
||||||
|
retval = insert_deadline_tag(result_copy);
|
||||||
|
if (retval) {
|
||||||
|
log_messages.printf(SchedMessages::CRITICAL, "send_work: can't insert deadline tag\n");
|
||||||
}
|
}
|
||||||
reply.insert_result(result_copy);
|
reply.insert_result(result_copy);
|
||||||
|
|
||||||
seconds_to_fill -= (int)estimate_duration(wu, reply.host);
|
seconds_to_fill -= wu_seconds_filled;
|
||||||
|
|
||||||
result.server_state = RESULT_SERVER_STATE_IN_PROGRESS;
|
|
||||||
result.hostid = reply.host.id;
|
|
||||||
result.sent_time = time(0);
|
|
||||||
result.report_deadline = result.sent_time + wu.delay_bound;
|
|
||||||
result.update();
|
|
||||||
|
|
||||||
nresults++;
|
nresults++;
|
||||||
if (nresults == MAX_WUS_TO_SEND) break;
|
if (nresults == MAX_WUS_TO_SEND) break;
|
||||||
|
|
Loading…
Reference in New Issue