-
Notifications
You must be signed in to change notification settings - Fork 4
Description
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.
I propose a new action (to avoid churn for those using the existing status action) that 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.
While it could provide the current state of stdout/stderr for running processes to allow for streaming results, it’s probably not necessary for this one since it’s a multi-target action.