(#27) Add statuses action for batch handle queries#26
(#27) Add statuses action for batch handle queries#26ripienaar merged 1 commit intochoria-plugins:mainfrom
Conversation
|
Please make an associated issue and update commit - see contributing guide. I track what needs releases using issues, without it, this will be skipped |
|
Sorry about that, my bad for not reading that first. Done! |
7634d5c to
cc42aa3
Compare
|
Some tests failing, not sure if related ? @nmburgan these projects are suffering from a few years neglect so could just be that. The big problem here is a huge chunk of these tests are on rspec2 and rspec3 doesn't seem to be usable for the way we used to do the testing |
The existing status action only accepts a single handle, requiring callers to make separate RPC calls for each running job. Attempting to get this to work at scale is challenging, since when using MCollective's shared NATS connector, concurrent RPC calls from separate threads race on the singleton connection and @@request_sequence counter, causing lost responses. This new statuses action accepts an array of handles and returns status, stdout, stderr, and exitcode for each completed job in a single response. This lets callers like the upcoming OpenBolt's Choria transport poll and fetch output in one batched RPC call per round instead of N sequential per-target calls.
cc42aa3 to
99e48ac
Compare
|
I think this me neglecting |
|
all good @nmburgan anything else you want to add or ready to merge? |
|
I’m going to do a quick test on a few nodes this morning just as an extra sanity check. I’ll circle back shortly. |
|
Sanity check successful. Good to merge! |
The existing status action only accepts a single handle, requiring callers to make separate RPC calls for each running job. Attempting to get this to work at scale is challenging, since when using MCollective's shared NATS connector, concurrent RPC calls from separate threads race on the singleton connection and
@@request_sequencecounter, causing lost responses. This new statuses action accepts an array of handles and returns status, stdout, stderr, and exitcode for each completed job in a single response. This lets callers like the upcoming OpenBolt's Choria transport poll and fetch output in one batched RPC call per round instead of N sequential per-target calls.Addresses #27