*** empty log message ***

svn path=/trunk/boinc/; revision=4249
This commit is contained in:
David Anderson 2004-09-27 04:26:51 +00:00
parent 660ea7d895
commit 4fd244d5d8
11 changed files with 96 additions and 32 deletions

View File

@ -17734,10 +17734,10 @@ David 24 Sept 2004
process_result_template.C
Rom 24 Sept 2004
- NEWGUI: Hook up the rest of the html panes for the transfers, messages, work,
and resources tabs.
- Kick start the CPU scheduler on startup by setting must_reschedule_cpus to true,
in case the scheduler is stuck in a funky state.
- NEWGUI: Hook up the rest of the html panes for the transfers,
messages, work, and resources tabs.
- Kick start the CPU scheduler on startup by setting must_reschedule_cpus
in case the scheduler is stuck in a funky state.
client/
client_state.C
@ -17788,3 +17788,27 @@ David 25 Sept 2004
lib/
gui_rpc_client.C,h
gui_test.C
David 26 Sept 2004
- Added the ability to turn homogeneous redundancy on/off
on a per-application basis.
NOTE: this involved adding a homogeneous_redundancy field to
the app table in the database.
To upgrade to this server software,
you must run the SQL query in html/ops/db_update.php,
which adds this database field.
db/
boinc_db.C,h
schema.sql
html/
inc/
db_ops.inc
ops/
db_update.php
py/Boinc/
database.py
sched/
db_dump.C
sched_send.C

View File

@ -125,9 +125,9 @@ void DB_CORE_VERSION::db_parse(MYSQL_ROW &r) {
void DB_APP::db_print(char* buf){
sprintf(buf,
"create_time=%d, name='%s', min_version=%d, "
"deprecated=%d, user_friendly_name='%s'",
"deprecated=%d, user_friendly_name='%s', homogeneous_redundancy=%d",
create_time, name, min_version,
deprecated, user_friendly_name
deprecated?1:0, user_friendly_name, homogeneous_redundancy?1:0
);
}
@ -140,6 +140,7 @@ void DB_APP::db_parse(MYSQL_ROW &r) {
min_version = atoi(r[i++]);
deprecated = atoi(r[i++]);
strcpy2(user_friendly_name, r[i++]);
homogeneous_redundancy = atoi(r[i++]);
}
void DB_APP_VERSION::db_print(char* buf){

View File

@ -79,8 +79,10 @@ struct APP {
int create_time;
char name[256]; // application name, preferably short
int min_version; // don't use app versions before this
int deprecated;
bool deprecated;
char user_friendly_name[256];
bool homogeneous_redundancy;
int write(FILE*);
void clear();
};

View File

@ -1,10 +1,14 @@
/* If you add/change anything, update
boinc_db.C,h
and if needed:
py/Boinc/database.py
html_user/
create_account_action.php
team_create_action.php
py/Boinc/
database.py
html/
ops/
db_ops.inc
user/
create_account_action.php
team_create_action.php
sched/
db_dump.C
*/
@ -42,8 +46,9 @@ create table app (
create_time integer not null,
name varchar(254) not null,
min_version integer not null,
deprecated integer not null,
deprecated smallint not null,
user_friendly_name varchar(254) not null,
homogeneous_redundancy smallint not null,
primary key (id)
) type=InnoDB;

View File

@ -14,7 +14,8 @@ to having GUI code in the core client.
BOINC provides a C++ interface to these RPCs.
The interface is based on the GUI_RPC class,
which provides the following functions
(the program <code>gui_test.C</code> gives an example of their use):
(the code is in <code>lib/gui_rpc_client.h</code>,
and the program <code>gui_test.C</code> gives a usage example):
<p>
";
list_start();
@ -46,8 +47,7 @@ list_item_func(
"get_file_transfers(FILE_TRANSFERS&)",
"Get a list of file transfers in progress.
Each is linked by name to a project;
use CC_STATE::lookup_project() to find this project in
the current state;
use CC_STATE::lookup_project() to find this project in the current state;
if it's not there, call get_state() again."
);
list_item_func(
@ -64,21 +64,20 @@ list_item_func(
create a graphics window"
);
list_item_func(
"project_reset(char* url)",
"Reset the given project"
"project_op(PROJECT&, char* op)",
"Perform a control operation on the given project.
<code>op</code> is one of
\"suspend\",
\"resume\",
\"reset\",
\"detach\", or
\"update\".
"
);
list_item_func(
"project_attach(char* url, char* account_id)",
"Attach to the given project"
);
list_item_func(
"project_detach(char* url)",
"Detach from the given project"
);
list_item_func(
"project_update(char* url)",
"Update the given project"
);
list_item_func(
"set_run_mode(int mode)",
"Set the run mode (never/auto/always)."
@ -99,6 +98,10 @@ list_item_func(
"set_proxy_settings(PROXY_INFO&)",
"Set proxy settings"
);
list_item_func(
"get_proxy_settings(PROXY_INFO&)",
"Get proxy settings"
);
list_item_func(
"get_messages(
int nmessages,
@ -114,8 +117,21 @@ list_item_func(
They are returned in order of decreasing sequence number."
);
list_item_func(
"retry_file_transfer(FILE_TRANSFER&)",
"Retry file transfer"
"file_transfer_op(FILE_TRANSFER&, char* op)",
"Perform a control operation on a file transfer.
<code>op</code> is one of
\"abort\" or
\"retry\".
"
);
list_item_func(
"result_op(FILE_TRANSFER&, char* op)",
"Perform a control operation on an active result.
<code>op</code> is one of
\"suspend\",
\"resume\", or
\"abort\".
"
);
list_end();
echo "

View File

@ -13,12 +13,16 @@ and results that are erroneous.
<p>
BOINC provides a feature called <b>homogeneous redundancy</b>
for such applications.
This is enabled by including the line
You can enable it for a project by including the line
<pre>
&lt;homogeneous_redundancy/&gt;
</pre>
in the <a href=configuration.php>config.xml</a> file.
<p>
Alternatively, you can enable it selectively for a single
application by setting the
<code>homogeneous_redundancy</code> field in its database record.
<p>
When this feature is enabled,
the BOINC scheduler will send results for a given workunit

View File

@ -382,6 +382,9 @@ function show_app($app) {
row("ID", $app->id);
row("Created", time_str($app->create_time));
row("Name", $app->name);
row("User-friendly name", $app->user_friendly_name);
row("Deprecated", $app->deprecated);
row("Homogeneous redundancy", $app->homogeneous_redundancy);
row("","<a href=db_action.php?table=app_version&appid=$app->id>App Versions for this application</a>");
row("","<a href=db_action.php?table=workunit&appid=$app->id&detail=low>Workunits for this application</a>");
end_table();

View File

@ -100,6 +100,12 @@ function update_9_05_2004() {
);
}
//update_9_05_2004();
function update_9_26_2004() {
mysql_query(
"alter table app add homogeneous_redundancy smallint not null"
);
}
//update_9_26_2004();
?>

View File

@ -58,7 +58,10 @@ class App(DatabaseObject):
table = 'app',
columns = [ 'create_time',
'name',
'min_version' ])
'min_version',
'deprecated',
'user_friendly_name',
'homogeneous_redundancy' ])
class AppVersion(DatabaseObject):
_table = DatabaseTable(

View File

@ -357,7 +357,6 @@ void write_host(HOST& host, FILE* f, bool detail) {
}
void write_user(USER& user, FILE* f, bool detail) {
DB_HOST host;
char buf[1024];
char cpid[MD5_LEN];
@ -407,6 +406,7 @@ void write_user(USER& user, FILE* f, bool detail) {
}
#if 0
if (detail && user.show_hosts) {
DB_HOST host;
sprintf(buf, "where userid=%d", user.id);
while (!host.enumerate(buf)) {
if (host.total_credit > 0) {

View File

@ -642,7 +642,7 @@ static void scan_work_array(
// if desired, make sure redundancy is homogeneous
//
if (config.homogeneous_redundancy) {
if (config.homogeneous_redundancy || app->homogeneous_redundancy) {
if (already_sent_to_different_platform(
sreq, wu_result.workunit, wreq
)) {