Message boards : Questions and problems : BOINC RPC Support?
Message board moderation
Author | Message |
---|---|
Send message Joined: 22 Mar 09 Posts: 51 |
I'm making a web based dashboard showing me info on all of my crypto wallets and distributed computing apps. The basic way this works is that timed scripts run and gather information from the apps, load it into an SQL database, and then the website pulls that info and shows it in a nice, neat, organized way. I had fairly good luck starting this, getting lots of info out of all of the crypto wallets very easily. Their RPC system is, while not very well documented, very easy to use. But I haven't had as much luck with BOINC. Lots of 10+ year old forum threads. Lots of conflicting, undated information. Pages about using boinccmd which doesn't appear to even exist any more? Can anyone point me in the right direction here? Whether its done via HTTP requests or by direct cli commands, either way as fine as long as I can use it to get info on all of the currently running work units. It seems that the BOINC Manager itself uses some form of RPC to communicate to the actual underlying BOINC processes so there must be some way to do it, no? |
Send message Joined: 5 Oct 06 Posts: 5129 |
boinccmd still exists, and is documented here. The full RPC specification is documented at https://boinc.berkeley.edu/trac/wiki/GuiRpcProtocol |
Send message Joined: 22 Mar 09 Posts: 51 |
Well if it's still around then where is it? Or where do I download it? I can't find it anywhere. |
Send message Joined: 5 Oct 06 Posts: 5129 |
It should be in the same folder/directory as the other main BOINC components - bonc(.exe) and boincmgr(.exe) On my Linux machines, that's /usr/bin On my Windows machines, that's D:\BOINC (personal choice in the installer) - the default is C:\Program Files\BOINC I don't have a Mac to check. |
Send message Joined: 22 Mar 09 Posts: 51 |
The manager application goes right into /Applications as an app bundle. I don't see anything like boinccmd inside the app bundle anywhere. It's also not in the /Library/Application Support/BOINC Data folder. I don't know where else it would possibly be. I'm thinking the Mac client might not come with boinccmd? |
Send message Joined: 28 Jun 10 Posts: 2708 |
You can tell whether it is there or not by running a boinccmd command. I find it hard to believe that the Mac client comes without it. |
Send message Joined: 5 Oct 06 Posts: 5129 |
If you can't find it any other way, it's certainly in the "(Unix command-line version)" on the download_all page. |
Send message Joined: 22 Mar 09 Posts: 51 |
$ boinccmd -bash: boinccmd: command not found |
Send message Joined: 22 Mar 09 Posts: 51 |
If you can't find it any other way, it's certainly in the "(Unix command-line version)" on the download_all page. Yup apparently you have to download it as a separate piece on macos. |
Send message Joined: 29 Aug 05 Posts: 15567 |
You have to run it from the directory you put it in, or add that directory to your environment path. Also make sure the BOINC client is running first |
Send message Joined: 22 Mar 09 Posts: 51 |
boinccmd still exists, and is documented here. Now that boinccmd is working, I'm confused by the difference here. Does boinccmd not use the RPC? If no, then how do I do RPC commands? The RPC page you linked to shows results coming back in XML yet boinccmd's results are all coming back as one long multi-line string. |
Send message Joined: 5 Oct 06 Posts: 5129 |
The boinccmd utility contains the library routines for converting between XML and human formats as required. |
Send message Joined: 22 Mar 09 Posts: 51 |
The boinccmd utility contains the library routines for converting between XML and human formats as required. Well thats good, so how do you DO that? I can't find any mention in any of the online docs? |
Send message Joined: 5 Oct 06 Posts: 5129 |
That's up to you. either you ask boinccmd to get information, which will provide human-readable answers in a fairly sparse, predictable format - some people are able to parse that output with scripting tools. or you write your own RPC handler, and work at the XML level. boinccmd may use XML RPCs internally, but it is not designed to output the raw XML to the user. |
Send message Joined: 22 Mar 09 Posts: 51 |
That's up to you. How does the RPC work, is it just HTTP requests? Making my own handler to directly talk to that should be pretty easy. Any documentation for how to access that? |
Send message Joined: 5 Oct 06 Posts: 5129 |
How does the RPC work, is it just HTTP requests? Making my own handler to directly talk to that should be pretty easy. Any documentation for how to access that?I gave you that link in my first answer, but here it is again: https://boinc.berkeley.edu/trac/wiki/GuiRpcProtocol |
Send message Joined: 22 Mar 09 Posts: 51 |
How does the RPC work, is it just HTTP requests? Making my own handler to directly talk to that should be pretty easy. Any documentation for how to access that?I gave you that link in my first answer, but here it is again: I don't see on that page how you actually send and receive those commands? |
Send message Joined: 5 Oct 06 Posts: 5129 |
I got it running under Windows, something over 10 years ago - so my memory is rusty. I'd been doing some complex office automation work using Access and SQL Server, so my mind was full of VBA syntax - YMMV. Under those circumstances, I used the Visual Basic component of Visual Studio 6, running under Windows XP (I think - probably). That led me to a Winsock control, which exposed the required methods - probably similar to https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-start-page-2. My code has elements like: Winsock_Connect [HostIP, HostPort] Winsock.state Winsock_DataArrival Winsock.GetData Winsock.SendData Winsock.CloseI haven't used for, well, 10 years, but it ran for many months collecting status logs not otherwise available. I see a line of code: nonce_hash = LCase$(MD5_string(nonce + HostPwd))which matches the documentation I directed you to. Good luck. |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.