mirror of
https://github.com/zeek/zeek.git
synced 2025-10-11 11:08:20 +00:00
Add Supervisor::node_status notification event
The Supervisor generates this event every time it receives a status update from the stem, meaning a node got created or re-created. A corresponding SupervisorControl::node_status event relays the same information for users interacting with the Supervisor over Broker.
This commit is contained in:
parent
bdfa7e70f5
commit
14188fc7a7
9 changed files with 98 additions and 0 deletions
|
@ -150,4 +150,15 @@ export {
|
|||
##
|
||||
## msg: line-buffered contents from the stderr of a child process.
|
||||
global stderr_hook: hook(node: string, msg: string);
|
||||
|
||||
## A notification event the Supervisor generates when it receives a
|
||||
## status message update from the stem, indicating node has
|
||||
## (re-)started.
|
||||
##
|
||||
## node: the name of a previously created node via
|
||||
## :zeek:see:`Supervisor::create` indicating to which
|
||||
## child process the stdout line is associated.
|
||||
##
|
||||
## pid: the process ID the stem reported for this node.
|
||||
global node_status: event(node: string, pid: count);
|
||||
}
|
||||
|
|
|
@ -91,4 +91,16 @@ export {
|
|||
## process tree. There is no response to this message as the Supervisor
|
||||
## simply terminates on receipt.
|
||||
global SupervisorControl::stop_request: event();
|
||||
|
||||
## A notification event the Supervisor generates when it receives a
|
||||
## status message update from the stem, indicating node has
|
||||
## (re-)started. This is the remote equivalent of
|
||||
## :zeek:see:`Supervisor::node_status`.
|
||||
##
|
||||
## node: the name of a previously created node via
|
||||
## :zeek:see:`Supervisor::create` indicating to which
|
||||
## child process the stdout line is associated.
|
||||
##
|
||||
## pid: the process ID the stem reported for this node.
|
||||
global SupervisorControl::node_status: event(node: string, pid: count);
|
||||
}
|
||||
|
|
|
@ -99,3 +99,12 @@ event SupervisorControl::restart_request(reqid: string, node: string)
|
|||
local topic = SupervisorControl::topic_prefix + fmt("/restart_response/%s", reqid);
|
||||
Broker::publish(topic, SupervisorControl::restart_response, reqid, res);
|
||||
}
|
||||
|
||||
event Supervisor::node_status(node: string, pid: count)
|
||||
{
|
||||
if ( ! Supervisor::is_supervisor() )
|
||||
return;
|
||||
|
||||
local topic = SupervisorControl::topic_prefix + "/node_status";
|
||||
Broker::publish(topic, SupervisorControl::node_status, node, pid);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue