A program to count BOINC tasks

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986
Topic 223878

A Python program, count-tasks.py, is available that counts and provides time metrics for tasks (work units) reported by your BOINC client. It runs on Windows, Linux, and MacOS and works with any BOINC Project.

The beta release can be downloaded from https://github.com/csecht/CountBOINCtasks (download the .zip file from the green "Code" button). Directions for use are in the README file. You do not need a GitHub account to download, but will need one to raise an Issue to report bugs or suggest improvements, which I'd much appreciate!

Ideas are not fixed, nor should they be; we live in model-dependent reality.

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

A GUI version is now

A GUI version is now available, and a few improvements have been made to the original Terminal version.

Feedback is welcome!

Ideas are not fixed, nor should they be; we live in model-dependent reality.

solling2
solling2
Joined: 20 Nov 14
Posts: 219
Credit: 1563286628
RAC: 46940

With ./count-tasks.py I get

With ./count-tasks.py I get as last line:

TypeError: _init_() got an unexpected keyword argument 'text'

What may that tell me?

 

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

Sorry for the late reply. 

Sorry for the late reply.  Download the newest version and let me know if the error persists. If so, could you raise it as an issue on the GitHub page?

Ideas are not fixed, nor should they be; we live in model-dependent reality.

solling2
solling2
Joined: 20 Nov 14
Posts: 219
Credit: 1563286628
RAC: 46940

The error message appears

The error message appears when run with python2.7, which is shipped as default with my distro. I would have preferred though a message like wrong python version or python3 missing or similar.

After installing python 3.9.7 the count-tasks program is running now.  What is unclear to me is the time range that is reported. After a few tasks the task time range lies between a minute or so and 20 minutes or so. Actual run time per task is 20 minutes or so. My guess is that the small number (one or few minutes) is the remaining time of a task that had already run some time when the count-task program was initiated? If so, the program will output a better mean time the longer it runs.

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

solling2 wrote: The error

solling2 wrote:

The error message appears when run with python2.7, which is shipped as default with my distro. I would have preferred though a message like wrong python version or python3 missing or similar.

Ah, yes, thanks.  There is a Python version check in the GUI version, gcount-tasks.py, but I neglected to go back and put that into the Terminal version. I'll do that today.

solling2 wrote:
After installing python 3.9.7 the count-tasks program is running now.  What is unclear to me is the time range that is reported. After a few tasks the task time range lies between a minute or so and 20 minutes or so. Actual run time per task is 20 minutes or so. My guess is that the small number (one or few minutes) is the remaining time of a task that had already run some time when the count-task program was initiated? If so, the program will output a better mean time the longer it runs.

Yay! I'm glad it's running.  The time range is from 'elapsed time' for each task reported by BOINC in the past hour, as obtained from the 'boinccmd --get_old_tasks' command. That elapsed time is given as fractional seconds, which the program converts to h:m:s for the low--high range display. I can't think of any way a partially run task would have its time show up if it hadn't already been reported to your account. But, if you see that oddness again, check your account for that computer's tasks in pending, valid, invalid, and error to see whether any recent task matches the lowball time;  let me know if something is still amiss. Thanks for the feedback.

Ideas are not fixed, nor should they be; we live in model-dependent reality.

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

cecht wrote: I'll do that

cecht wrote:

I'll do that today.

Done.  Python 3.6 is set as the minimum version, but only because I haven't tested it on anything less. I'm guessing it would work with any 3.x.

Ideas are not fixed, nor should they be; we live in model-dependent reality.

solling2
solling2
Joined: 20 Nov 14
Posts: 219
Credit: 1563286628
RAC: 46940

Is there an option to make

Is there an option to make the remaining time stop blinking? Usually blinking is a kind of alarm signal. Time intervals aren't alarming, are they? Maybe a blinking zero might make more sense if no work is left over in queue.

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

solling2 wrote:Is there an

solling2 wrote:

Is there an option to make the remaining time stop blinking? Usually blinking is a kind of alarm signal. Time intervals aren't alarming, are they? Maybe a blinking zero might make more sense if no work is left over in queue.

Is this in the Terminal program or the GUI? What OS are you running? I'll see what I can do.  When there is no work in queue, a notice is posted.

Ideas are not fixed, nor should they be; we live in model-dependent reality.

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

solling2 wrote: Is there an

solling2 wrote:

Is there an option to make the remaining time stop blinking? Usually blinking is a kind of alarm signal. Time intervals aren't alarming, are they? Maybe a blinking zero might make more sense if no work is left over in queue.

Yes, now there that option in count-tasks.py, ver. 0.4.28. Now time remaining by default does not blink; using the command line option, --blink yes, it will blink as in earlier versions. So download that latest commit, and you should not be "alarmed". :)

Ideas are not fixed, nor should they be; we live in model-dependent reality.

cecht
cecht
Joined: 7 Mar 18
Posts: 1421
Credit: 2446022914
RAC: 1488986

I've posted an update to the

I've posted an update to the BOINC task counting program at its GitHub repository, https://github.com/csecht/CountBOINCtasks. Users can now plot task times and counts recorded in their log file. The program repository includes an example data log file to demonstrate/test the plotting function.

Shown below is a plot of average task times per count interval from the example data. An overlaid plot of interval task counts can be toggled with a button. The navigation bar can be used to zoom in on a region or axis, pan the view, or save the image to a PNG file. Example data were taken from one of my log files spanning two weeks of Gravitational Wave runs on two RX 570s running 3x concurrent tasks.

 

Ideas are not fixed, nor should they be; we live in model-dependent reality.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.