Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
World Community Grid Forums
Category: Support Forum: Website Support Thread: wcgresults 2.29 |
No member browsing this thread |
Thread Status: Active Total posts in this thread: 16
|
Author |
|
adriverhoef
Master Cruncher The Netherlands Joined: Apr 3, 2009 Post Count: 2089 Status: Recently Active Project Badges: |
In combination with wcglog you can use wcgresults on Linux to log your results.
This new version 2.29 of wcgresults has a new feature regarding authentication. First it will run boinccmd --get_host_info to see if its output contains the text " domain name: ". If it does, authentication is OK, else the program will change directory to $BOINCDIR (defined by wcgresults as ~boinc) and continue from there. This means that you probably shouldn't use a relative path when using the option -d of wcgresults to download results. I'm hoping that this change with the new version 2.29 of wcgresults will be a first step to overcome authentication problems. Adri |
||
|
adriverhoef
Master Cruncher The Netherlands Joined: Apr 3, 2009 Post Count: 2089 Status: Recently Active Project Badges: |
Announcing wcgresults version 2.30,
----------------------------------------Regarding wcgresults -x, Before this new version 2.30 of wcgresults (to download, see tab 'Files'), when using the option -x, the program would spit out all series of retries at once, which is not very handy in these dire circumstances. I've inserted a sleeping period for 1 second between each file that is being retried in the file transfer queue, so that only one file at a time will be retried. Thus, after the first file in the transfer queue is being retried, a tiny period of 1 second follows and then the next file will be retried (waiting one second and then the next file will follow and so on), until all pending files in the queue have been retried - and a new cycle may start if there are still files in the queue waiting to be transferred, after a useful grace period. After some testing, this seems to do its job 'much' better, I think. Plus, the burden on the BOINC-server is lessened. PS. I have found that sometimes a file will already have succeeded in being transferred when being retried, which will cause this harmless message: 22-Sep-2022 15:13:55: GUI RPC error: No such transfer waiting An example of the output: $ wcgresults -x Creating lockfile /tmp/wcgxmit.LOCK ... (10 files remaining) 15:30:29 retry downloading task 0b6333d2adebaffa94a63e46511f77e4.job 15:30:30 retry downloading task 33df3bb065ada3b671d2e70a5f39e081.gpf 15:30:31 retry downloading task 54caeae511a42a0ac1806a93cca663d2.gpf 15:30:32 retry downloading task 799bd6887db00f198831a17f35365b9d.pdbqt 15:30:33 retry downloading task 87f34a6e9ef53a567115de22f1f6b82e.zip 15:30:34 retry downloading task c0823c97a0c83a70a2efcb0ff862825a.zip 15:30:35 retry downloading task c087c1dcac142b7dec54e36e3327f248.job 15:30:36 retry downloading task c133ea98fdf7adf0b552ddc1f3e4ba9a.pdbqt 15:30:37 retry downloading task dca9b2518b07d732e6bc9c585e80a067.pdbqt 15:30:38 retry downloading task ea16319bcad4f2dadb55115fe8244c24.pdbqt (seven files remaining) 15:32:09 retry downloading task 0b6333d2adebaffa94a63e46511f77e4.job 15:32:10 retry downloading task 33df3bb065ada3b671d2e70a5f39e081.gpf 15:32:11 retry downloading task 54caeae511a42a0ac1806a93cca663d2.gpf 15:32:12 retry downloading task 87f34a6e9ef53a567115de22f1f6b82e.zip 15:32:13 retry downloading task c087c1dcac142b7dec54e36e3327f248.job 15:32:14 retry downloading task dca9b2518b07d732e6bc9c585e80a067.pdbqt 15:32:15 retry downloading task ea16319bcad4f2dadb55115fe8244c24.pdbqt (one file remaining) 15:33:46 retry downloading task ea16319bcad4f2dadb55115fe8244c24.pdbqt Removing lockfile /tmp/wcgxmit.LOCK ... Adri [Edit 2 times, last edit by adriverhoef at Sep 22, 2022 1:41:47 PM] |
||
|
PMH_UK
Veteran Cruncher UK Joined: Apr 26, 2007 Post Count: 766 Status: Recently Active Project Badges: |
Adri,
----------------------------------------I amended version 2.28.1.9 as below to suit my needs. (need to look at your latest version as I had auth issue). Being new to BASH etc. there may be better ways to do what I did. How can I best get the whole version to you?
Paul.
Paul.
|
||
|
adriverhoef
Master Cruncher The Netherlands Joined: Apr 3, 2009 Post Count: 2089 Status: Recently Active Project Badges: |
Adri, I amended version 2.28.1.9 as below to suit my needs. (need to look at your latest version as I had auth issue). Being new to BASH etc. there may be better ways to do what I did. How can I best get the whole version to you? Hey Paul. This is all new to me, too, having open source software at Sourceforge for the first time. You posted in another thread: I have modified my copy of wcgresults to have an exclude list for other projects. Also added mesages & commented out some to minimise noise. While I'm with you, decisions need to be made what to include in the official version and what not, and how, and it's up to me what to decide, I guess. Also, each new version needs to be tested and takes time. Making mistakes isn't good. Making it work is good. I don't know if this should be incorporated; this is wcgresults, not anyresults after all, but it can be made possible, of course. At the moment, since wcgresults doesn't discriminate in the file transfer queue which file to retry and which one not, each file in the queue is selected. I don't know if this is good or bad; I think it depends on the situation at that moment. It can be done. It's difficult to decide what people want to see and what not at what moment. I try to make the 'best' decision. 'How confident is someone using Linux, someone using wcgresults - do they get along well? Does the user have a reasonable understanding of what is going on in the heart of wcgresults? Do I understand it myself? What is needed to make clear what is going on? Is it sufficient? All those questions and more ... Anyway, you mentioned "to minimise noise". Fine with me, but I'd like to see what is going on. I'm thinking of adding a VERBOSITY-tag that you can deselect (using 'grep -v'), so that you can generate your own non-verbose version from the source of wcgresults, or to add a new option (but that makes it even harder to understand for casual users). There are several ways of course. One way is to e-mail a one time e-mail address, another way would be to use a wetransfer-link, or just exchange e-mail addresses publicly, or maybe someone can come up with a much better solution. Do I want to publish my e-mail address? Well, if you're smart enough, and YOU are smart enough, Paul, then you'll find my e-mail address (look for: "Nederlandse Rondzendlijsten"). Adri |
||
|
TonyEllis
Senior Cruncher Australia Joined: Jul 9, 2008 Post Count: 259 Status: Offline Project Badges: |
Thanks Adri for wcgresults 2.30.2.0 - downloaded and in use.
----------------------------------------Since user mods was also mentioned. As I re-direct the output of "-x" to a log file, have made the following changes to make the log neater and even more useful
Edit:- add log extract
Run Time Stats https://grassmere-productions.no-ip.biz/
----------------------------------------[Edit 1 times, last edit by TonyEllis at Sep 23, 2022 2:35:24 AM] |
||
|
adriverhoef
Master Cruncher The Netherlands Joined: Apr 3, 2009 Post Count: 2089 Status: Recently Active Project Badges: |
Thanks Adri for wcgresults 2.30.2.0 - downloaded and in use. Since user mods was also mentioned. As I re-direct the output of "-x" to a log file, have made the following changes to make the log neater and even more useful In a newer release I had already planned some changes that crossed yours. echo `date +%c` Creating lockfile $XMIT_LOCKFILE ...(add date and time) While I like seeing suggestions, I have my own preferences and reasons, too, and there might also be other preferences. printf STDERR "%s about to retry %sing task %s\n", (strftime "%c", localtime), $load{$name}, $name;(1. change tab to space 2. date and time i.e. %c rather than %T Thanks for your suggestions, Tony. I understand that you want to be compatible with the 'date +%c' and the extra space in the echo command. So I've been thinking about this on how to accomplish this. There might be other preferences that would make the code harder to read, e.g. adding a new option for verbosity or lines marked #VERBOSITY# or switches "if ($Tonys_choice) then ... or if ($Pauls_preferences) then ..." or to introduce hooks where you can substitute your own preferences, e.g. personal hooks: "echo ${TONYS_CHOICE} Creating ..." or general hooks "echo ${PREFERENCE_DO_OPT_X_01} Removing ..." etc. and then use a script with substitutions. So there might be other peoples' preferences, what output they'd like. I think it's hard to find something to everybody's liking, so here's my idea: why not create a personal script with which you can make your own copy of my script that's exactly to your liking …, isn't that a fair solution? This should be easy to do - and if you find that hard to do, I could even help you with it. Here's a start: sed ' |
||
|
adriverhoef
Master Cruncher The Netherlands Joined: Apr 3, 2009 Post Count: 2089 Status: Recently Active Project Badges: |
Paul (and Tony!),
Thanks for your suggestions. I really appreciate your efforts. Paul wanted to comment out the lockfile messages: "# echo $(date +"%Y-%m-%d %T") Creating lockfile $XMIT_LOCKFILE ...", while Tony wanted it incorporated a little more verbose (with date). I have good news for TonyEllis: I will be honouring the 'date +%c' (in a little different way, still it will be there). I'm seeing a need for it now. (This is a case of new insights. ) Since these messages mark starting and ending of 'wcgresults -x', the simple use of %T in the retry-messages should be sufficient the way I see it. Paul: The piece of code that you posted has had my sincere attention and I would like to share my thoughts on several snippets. It's nice to see that you're new to Bash and had your stab (if I may say so) at writing/amending code. There was this line: "$retried_files = 0; # PMH added to count files retried this loop" I understand this, you want to add a count and I did this … in a different way. There is a subtle difference: I'm counting the number of remaining files at the start, you're counting that number at the end. The difference is that a file may already be transferred/gone and cannot be retried, so when retrying, some files may no longer exist, whether it is an up- or a download, it's just that the number of really retried files will be semantically different. While I'm still waiting for the -R option and its implications (newly introduced variables) to be tested before issuing a new version, we can discuss some more topics. * The $doit variable. OK, I feel there is a need for this and I want to try to implement this. You want to retry (some) files (but not all) if they satisfy a certain condition, i.e. a textpattern. My simple idea would be to do that at this level:
[ -f $XMIT_LOCKFILE ] && exit 0 # PMH ToDo report locked, already running or failed, include id from file echo $$ > $XMIT_LOCKFILE Come to think of it, the art of excluding certain filenames is a brilliant idea! In this way, you can favour certain files above others by specifying a part of their names. Furthermore: # Add counters for files retried and loops done. All done in some way or other, apart from the 'sleep', which might be something that could be tweaked; is there a special reason why you chose 20?# Add Exclude list to ignore other project's files. # Reduce sleep from 90 to 20 seconds. # Change messages so all have yyyy-mm-dd hh:mm:ss, comment out all but loop counter. I've changed some things, if you don't want to see the messages which I do want to see, then a message level could be necessary, indeed. It ain't easy. For the moment, you should use a script to generate your own version.# Use option to chose message level. # Externalise exclude values. You may put the exclude values in your external configuration file. This hasn't been documented yet, but then the new version of wcgresults hasn't been released. else # ? surely we can't get here ? |
||
|
adriverhoef
Master Cruncher The Netherlands Joined: Apr 3, 2009 Post Count: 2089 Status: Recently Active Project Badges: |
Announcing wcgresults version 2.31, a pre-release.
----------------------------------------In which the shellvariable ”$RETRY_EXCLUDING_PATTERN” is introduced. Description: When using the option -x (to retry current filetransfers), there is now the possibility to not retry certain filenames, to exclude them from retrying. With the shellvariable named $RETRY_EXCLUDING_PATTERN you can specify which filenames to skip. Its value is a regular expression that specifies which filenames to skip. Examples: "^h1_", "OONIProbe|PERF_TESTS", "^(collatz|MAP_SERIES)". The latter example says to skip any filename that starts with either 'collatz' or 'MAP_SERIES'. You may put this variable in your configuration file, to assign it there, outside of the program wcgresults itself. I have tested this new version of wcgresults (to download, see tab 'Files') and it works wonders, thanks to your suggestions. The documentation for this hasn't been updated yet, but using it should be clear now. Also, several small enhancements have been introduced (see the former posts in this thread). Furthermore, you may wonder - if you look at the code - what is this variable named REMOTEHOSTNAME? Well, this is new code for use with the future option -R, which has already been documented and hasn't been fully tested, but it works on my system. The code has been deactivated for now. ("R:" has been left out of $OPTS) Wishing you a good weekend, Adri [Edit 1 times, last edit by adriverhoef at Sep 24, 2022 9:17:21 AM] |
||
|
PMH_UK
Veteran Cruncher UK Joined: Apr 26, 2007 Post Count: 766 Status: Recently Active Project Badges: |
Adri,
----------------------------------------Thanks for incorporating ideas from grateful users. I will download and review the latest next week. I was a PL/I programmer for several years and IBM mainframe sysprog since, using REXX and various OEM languages for automation & tools. All done in some way or other, apart from the 'sleep', which might be something that could be tweaked; is there a special reason why you chose 20? I use 20 seconds at 10 minute intervals on 1 PC (a Lenovo E50-00, 2013) which only picks up 3 or 4 OPNG for it's 32 GFLOPS GPU as they arrive with high durations, e.g. 92 hours, but run under an hour so it would run dry with longer. Other PCs run with 90 seconds on the hour as they cache near max (11 chosen) units and also run ARP. Edit: The Lenovos are now full of OPNG (9) with 80 minute duration. Being able to configure sleep time by parameter would be good. Reporting PID on locked exit was aimed at identifying a possible stuck running task or failed one that terminated. A verbosity level for messages would also be welcome. BTW the V for version option is not included in the Usage output. Should have included my crontab entry and output: ~/.bin/wcgresults -x >> /tmp/wcg_retry.log 2022-09-24 14:50:41 Retried 1 times. 2022-09-24 15:02:02 Retried 5 times. 2022-09-24 15:11:22 Retried 3 times. 2022-09-24 15:24:22 Retried 12 times. 2022-09-24 15:35:02 Retried 14 times. 2022-09-24 16:20:36 Retried 9 times. 2022-09-24 16:22:26 Retried 1 times. 2022-09-24 16:52:02 Retried 5 times. 2022-09-24 17:08:50 Retried 1 times. 2022-09-24 17:10:52 Retried 3 times. 2022-09-24 17:32:42 Retried 7 times. 2022-09-24 17:40:41 Retried 1 times. 2022-09-24 18:01:22 Retried 3 times. 2022-09-24 18:24:02 Retried 11 times. 2022-09-24 19:03:42 Retried 12 times. 2022-09-24 19:11:02 Retried 2 times. 2022-09-24 19:21:01 Retried 2 times. 2022-09-24 19:31:21 Retried 3 times. 2022-09-24 19:40:42 Retried 1 times. (some of these may have been manual runs). Paul.
Paul.
----------------------------------------[Edit 1 times, last edit by PMH_UK at Sep 24, 2022 7:36:26 PM] |
||
|
TonyEllis
Senior Cruncher Australia Joined: Jul 9, 2008 Post Count: 259 Status: Offline Project Badges: |
Hi Adri, Thanks for all the updates and thought being put into wcgresults.
----------------------------------------Just downloaded and tried version 2.31.0.9 and received this:-
line 1586 is :-
Sure is a # SECRET# as this appears to be the only place opt21 is in the code :-) Typo? A second download shows the same so not a download problem. OS, not that I think it matters, is Fedora 36 kernel 5.19.7-200.fc36.x86_64. Only changes were credentials and BOINCDIR. Simply running with -x
Run Time Stats https://grassmere-productions.no-ip.biz/
|
||
|
|