This lets you lookup up users sorted by
- descending join time
- descending total credit, or
- descending RAC
and lets you filter them by
- country
- presence/absence of team
- presence/absence of profile
It's implemented in such a way that no more than N
DB rows are examined
(i.e. it doesn't necessarily show you all the results)
- PHP database: add enum_fields() member to DbConn and BoincUser.
This is to select a limited number of fields
e.g. to make large queries more efficient.
Also added BoincTeam::lookup_id_cache(); this is an example
of how to look up items likely to be repeated
(like teams when you're showing a list of users)
svn path=/trunk/boinc/; revision=14082
1) a WU is marked as ready for assimilation and has no errors;
2) it has no canonical result
In this case, the assimilate handler gets called anyway,
typically with the canonical result of the previous WU as arg.
Note: this situation doesn't arise normally;
it might happen if some results are deleted accidentally.
The fix:
- identify this situation, and set the WU.error_mask to a new code
(WU_ERROR_NO_CANONICAL_RESULT)
- zero out the "canonical_result" variable passed to the handler,
so even if the handler fails to check wu.error_mask,
at least it won't assimilate the same result twice.
Thanks to Hendrik Verhoek for finding this bug.
- DB schema: team table type is MyISAM, not InnoDB
svn path=/trunk/boinc/; revision=13938
- check for infinity/NaN
- check for CPU time decreasing
- check for CPU time increasing faster than real time
... and deal with each of these in a hopefully reasonable way
svn path=/trunk/boinc/; revision=13847
- move client sandbox-specific code to a new file, sandbox.C
- remove g_use_sandbox from util.C; move to MainDocument.cpp (manager)
and sandbox.C (client)
- don't declare check_security() in util.h; it's not in util.C
- don't call remove_project_owned_file_or_dir() in
boinc_delete_file_aux() or boinc_rmdir();
rather, at the points in the client that delete
dirs that are usually owned by boinc_projects,
call remove_project_owned_file_or_dir() first,
then clean_out_dir().
- rename boinc_exec() to switcher_exec() and move it to sandbox.C
Note: this change was sparked by needing to remove a call to getgrnam()
from boinclib, to avoid requiring the same version of glibc
on both compile and target hosts
svn path=/trunk/boinc/; revision=13784
there's a single GUI_HTTP object,
and it works only if used sequentially,
i.e. an op is started only after the previous one ends.
This breaks if a GUI RPC triggerse and op while
a project-list fetch (initiated by the client itself) is in progress.
Or if two managers are connected at the same time,
and both do HTTP ops.
The solution: have a separate GUI_HTTP object for each GUI_RPC_CONN,
and an additional one for use by the client itself.
svn path=/trunk/boinc/; revision=13692
NOTE: as of this checkin, applications built with the API
code in the trunk are assumed to do V6-type graphics.
If your app doesn't, then you must set
backwards_compatible_graphics to false
(and use boinc_init_graphics_options())
svn path=/trunk/boinc/; revision=13675
update_versions to add version 6 apps.
It looks for API_VERSION string in main executable,
adds the API version to the app_version XML,
and sets min_core_version to 6 for version 6+ apps
- API: include API_VERSION string
- convert tabs to spaces here and there
- scheduler: parse unused elements in <net_stats>
- ops/show_log.php: if no URL args, just show form (fixes#415)
- client: parse and store api_version (not used yet)
svn path=/trunk/boinc/; revision=13627
but don't do anything other than handle GUI RPCs.
After 50 secs, print an "about to exit" message.
After 60 seconds, exit
svn path=/trunk/boinc/; revision=13162
"resend_lost_results" option was used also
(because the count of in-progress results was
based from the DB query used by resend_lost_results).
Fix: initialize the count of in-progress results to
the list provided in the scheduler request.
- scheduler: add "--mark_jobs_done" flag; if set, all jobs
sent are marked as done, and their WUs enabled for transition.
This is used for simulation purposes,
in conjunction with sched_driver.
- scheduler: if --batch option is set, don't check RPC seqnos
(for simulation purposes)
svn path=/trunk/boinc/; revision=13101
between completing a result and reporting it.
- back end: added <httpd_user> config option:
Web server user name (used by file deleter)
- back end: don't report unparsed XML in config.xml as an error
client/
app.h
work_fetch.C
lib/
shmem.C
sched/
file_deleter.C
file_upload_handler.C
sched_config.C,h
show_shmem.C
svn path=/trunk/boinc/; revision=13039
- back end: use boinc_mkdir to get permissions right
html/inc/
stats_sites.inc
lib/
filesys.C
sched/
db_dump.C
db_purge.C
feeder.C
svn path=/trunk/boinc/; revision=13033
(e.g., to show BOINC error codes correctly)
- get_project_config.php: add an element that lists the
platforms supported by this project
(i.e. for which there's a non-deprecated app version)
Cache this info in a file (cache/platform_list.xml)
so that it will be available even when the project's DB is down.
- Rename sample_get_project_config.php to get_project_config.php;
a project should no longer need its own version of this file.
Change setup_project accordingly.
client/
app_control.C
html/user/
get_project_config.php (new)
sample_get_project_config.php (removed)
py/Boinc/
setup_project.py
svn path=/trunk/boinc/; revision=12814
In principle, a project can now use both
locality scheduling and homogeneous redundancy.
- scheduler: do HR check before deadline check,
since the latter is slower.
- scheduler: wu_is_infeasible() doesn't return a bitmap.
Change its return values to sequential numbers.
- scheduler: ignore <accelerator> and <p_capabilities> tags
sched/
sched_send.C,h
sched_array.C
sched_locality.C
server_types.C
svn path=/trunk/boinc/; revision=12791
This cause the core client to exit immediately before or after
running a job,
letting you examine the contents of the slot directory.
- scheduler: changed max # of CPUs used in daily_result_quota
limit from 4 to 8, and make it a compile-time parameter
- feeder/scheduler: make the number of work items in shared
memory configurable (in config.xml).
The element is <shmem_work_items>
- feeder: make the size of the work item query configurable
(<feeder_query_size)
- feeder: remove code related to removing infeasible results
from shared mem.
This mechanism was never needed,
and I think a timeout would accomplish the same effect.
client/
app.C
app_start.C
client_state.C,h
cs_cmdline.C
sched/
feeder.C
sched_array.C
sched_config.C,h
sched_send.C
sched_shmem.C,h
sched_util.C
show_shmem.C
svn path=/trunk/boinc/; revision=12771
tells how much disk space BOINC is using
(not including projects).
- added project.max_infeasible_count to client simulator
client/
gui_rpc_server_ops.C
sim.C,h
sim_util.C
clientgui/
ViewResources.cpp
lib/
filesys.C
bui_rpc_client.h
bui_rpc_client_ops.C
svn path=/trunk/boinc/; revision=12615
- Server: add new database field host.error_rate.
Stores a dynamic estimate of the fraction of the hosts's
results that fail validation (updated by the validator).
client/
sim.C
cs_prefs.C
db/
boinc_db.C,h
html/ops/
db_update.php
sched/
handle_request.C
sched_msgs.h
validator.C
svn path=/trunk/boinc/; revision=12466