show if a GPU type is excluded by configuration
- client: don't fetch work for a resource type if all instances
of that type are excluded
- web: don't use filter_var(, FILTER_SANITIZE_STRING)
to strip HTML tags from a string.
This escapes singles quotes also.
Use strip_tags() instead.
svn path=/trunk/boinc/; revision=25375
boinc_temporary_exit(),
explaining why the app is exiting.
Convey this to the client, and then to the Manager,
and display it there and in the log.
clientgui/
MainDocument.cpp
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
api/
boinc_api.cpp,h
client/
client_types.cpp,h
app.h
app_control.cpp
svn path=/trunk/boinc/; revision=25315
use strcat instead
- client: don't use get_mac_address() to create host CPIDs
(we have plenty of other info to make them unique)
- storage stuff
svn path=/trunk/boinc/; revision=25269
- client: add <async_file_debug> log flag
- client: do decompress (both sync and async) to a temp file,
then rename
- client: if a file's status is VERIFY_PENDING on startup,
set it to NOT_PRESENT; that will trigger a verify
- client: do async copy only if size is above threshold
svn path=/trunk/boinc/; revision=25222
resource-specific backoff and exclusion
Old: client writes
<rsc_backoff_time>
<rsc_backoff_interval>
<no_rsc_ams>
<no_rsc_apps>
<no_rsc_pref>
in GUI RPC entries for projects.
Manager (GUI RPC client): PROJECT struct has
cpu_backoff_time
cpu_backoff_interval
... cuda, ati
no_cpu_pref
... cuda, ati
and it parses tags of these names.
In other words, no information is being conveyed
from client to Manager.
New:
manager parses both forms
svn path=/trunk/boinc/; revision=25217
This now supports two main use cases:
1) there's a job that you want to run once on all hosts,
present and future
(or all hosts belonging to a user, or to a team).
The job is never transitioned, validated, or assimilated.
2) There's a normal job for which you want to use only
hosts belonging to a specific user (e.g. cluster or cloud hosts).
This restriction can be made either when the job is created,
or on the fly,
e.g. as part of a scheme for accelerating batch completion.
For the latter purposes we now provide a function
restrict_wu_to_user(DB_WORKUNIT&, int userid);
The job goes through the standard
transitioner/validator/assimilator path.
These cases are enabled by config flags
<enable_assignment_multi/>
<enable_assignment/>
respectively.
Assignment of type 2) are no longer stored in shared mem,
so there is no limit on their number.
There is no longer a rule that assigned job names must contain "asgn".
NOTE: this requires a database update.
svn path=/trunk/boinc/; revision=25169
we uncompress it and then verify it.
The latter involves computing its MD5, which reads the entire file.
Combine these 2 steps so that the MD5 is computed
as the file is uncompressed,
eliminating the need to read the file again.
svn path=/trunk/boinc/; revision=25157
send the size of the compressed file as well.
- client: parse and write the compressed size (FILE_INFO::gzipped_nbytes).
For get_transfer GUI RPCs, if it's a compressed download send
the compressed size.
That way the manager will show the fraction done correctly.
svn path=/trunk/boinc/; revision=25152
(which won't parse a double as an int)
revealed a type mismatch in FILE_TRANSFER::next_request_time
between client and server.
svn path=/trunk/boinc/; revision=25125
connection information to the manager
- MGR: Add a "Show VM Console" button for those tasks which
report a remote desktop port number.
client/
app.cpp, .h
app_control.cpp
clientgui/
Events.h
MainDocument.cpp, .h
ViewWork.cpp, .h
lib/
gui_rpc_client.h
gui_rpc_client_ops.cpp
svn path=/trunk/boinc/; revision=25036
in the advanced view. Retain the ability to dynamically adjust the
width of the task panel based on widest button.
- LIB: Use parse string instead of copy contents for messages RPC.
clientgui/
BOINCBaseView.cpp, .h
ViewNotices.cpp
ViewResources.cpp
ViewStatistics.cpp
lib/
gui_rpc_client_ops.cpp
svn path=/trunk/boinc/; revision=25001
Report it (along with disk usage) in scheduler request messages.
This will allow the scheduler to send file-delete commands
if the project is using more than its share.
- client: add <disk_usage_debug> log flag
- create_work: add --help, show --command_line option
svn path=/trunk/boinc/; revision=24968
If found, set HOST_INFO::p_vm_extensions_disabled,
and pass this to the scheduler.
- scheduler (VBox app plan function) if a host has p_vm_extensions_disabled
set, don't sent it multicore VBox jobs.
Note: if you have a host with VM extensions, and they're disabled
in the BIOS, and you enable them, you can remove the
<p_vm_extensions_disabled> line from client_state.xml
and you'll be eligible to get multicore VM jobs again.
svn path=/trunk/boinc/; revision=24944
If set, don't run jobs for that app while network is suspended.
- client: parse this flag and maintain in state file;
do a job reschedule when network suspend state changes
- GUI RPC: add RESULT::network_wait flag;
if set, this job is waiting for network access to be allowed
- Manager: display the above in task info
- add support for "web graphics URL" (see above)
- client: parse message containing URL on graphics_reply channel
and store in ACTIVE_TASK::web_graphics_url
- GUI RPC: add RESULT::web_graphics_url
- Manager: if web graphics URL is present, Show Graphics opens a browser
- remove some vestigial code for pre-V6 graphics
svn path=/trunk/boinc/; revision=24899
- client: msg tweak
- client: minimum work buffer lower bound is 180 sec
- scheduler: in computing HOST_USAGE::project_flops for a job,
if we don't have sufficient elapsed_time statistics
for either the (host, app_version) or the app_version,
use a conservative estimate (p_fpops*(#cpus+#ngpus))
rather than the number returned by app_plan().
This avoids "time limit exceeded" errors when the latter is way off.
svn path=/trunk/boinc/; revision=24820