mirror of
https://github.com/postmannen/ctrl.git
synced 2024-12-14 12:37:31 +00:00
updated readme with toNode local
This commit is contained in:
parent
7b4335a256
commit
88532f4a6e
2 changed files with 27 additions and 9 deletions
27
README.md
27
README.md
|
@ -40,6 +40,7 @@ As long as you can do something as an operator on in a shell on a system you can
|
||||||
- [startup folder](#startup-folder)
|
- [startup folder](#startup-folder)
|
||||||
- [General functionality](#general-functionality)
|
- [General functionality](#general-functionality)
|
||||||
- [How to send the reply to another node](#how-to-send-the-reply-to-another-node)
|
- [How to send the reply to another node](#how-to-send-the-reply-to-another-node)
|
||||||
|
- [Use local as the toNode nodename](#use-local-as-the-tonode-nodename)
|
||||||
- [method timeout](#method-timeout)
|
- [method timeout](#method-timeout)
|
||||||
- [Example](#example)
|
- [Example](#example)
|
||||||
- [Schedule a Method in a message to be run several times](#schedule-a-method-in-a-message-to-be-run-several-times)
|
- [Schedule a Method in a message to be run several times](#schedule-a-method-in-a-message-to-be-run-several-times)
|
||||||
|
@ -433,9 +434,31 @@ Messages put in the startup folder will not be sent to the broker but handled lo
|
||||||
|
|
||||||
#### How to send the reply to another node
|
#### How to send the reply to another node
|
||||||
|
|
||||||
Normally the **fromNode** field is automatically filled in with the node name of the node where a message originated.
|
Normally the **fromNode** field is automatically filled in with the node name of the node where a message originated. Since messages within the startup folder is not received from another node via the normal message path we need to specify the **fromNode** field within the message for where we want the reply delivered.
|
||||||
|
|
||||||
Since messages within the startup folder is not received from another node via the normal message path we need to specify the **fromNode** field within the message for where we want the reply delivered.
|
As an example. If You want to place a message on the startup folder of **node1** and send the result to **node2**. Specify **node2** as the **fromNode**, and **node1** as the **toNode**
|
||||||
|
|
||||||
|
#### Use local as the toNode nodename
|
||||||
|
|
||||||
|
Since messages used in startup folder are ment to be delivered locally we can simply things a bit by setting the **toNode** field value of the message to **local**.
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"toNode": "local",
|
||||||
|
"fromNode": "central",
|
||||||
|
"method": "REQCliCommand",
|
||||||
|
"methodArgs": [
|
||||||
|
"bash",
|
||||||
|
"-c",
|
||||||
|
"curl localhost:2111/metrics"
|
||||||
|
],
|
||||||
|
"replyMethod": "REQToConsole",
|
||||||
|
"methodTimeout": 10
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
#### method timeout
|
#### method timeout
|
||||||
|
|
||||||
|
|
|
@ -329,9 +329,7 @@ func (p *processes) Start(proc process) {
|
||||||
proc.startup.subscriber(proc, REQKeysRequestUpdate, nil)
|
proc.startup.subscriber(proc, REQKeysRequestUpdate, nil)
|
||||||
proc.startup.subscriber(proc, REQKeysAllow, nil)
|
proc.startup.subscriber(proc, REQKeysAllow, nil)
|
||||||
proc.startup.subscriber(proc, REQKeysDelete, nil)
|
proc.startup.subscriber(proc, REQKeysDelete, nil)
|
||||||
|
|
||||||
proc.startup.subscriber(proc, REQAclRequestUpdate, nil)
|
proc.startup.subscriber(proc, REQAclRequestUpdate, nil)
|
||||||
|
|
||||||
proc.startup.subscriber(proc, REQAclAddCommand, nil)
|
proc.startup.subscriber(proc, REQAclAddCommand, nil)
|
||||||
proc.startup.subscriber(proc, REQAclDeleteCommand, nil)
|
proc.startup.subscriber(proc, REQAclDeleteCommand, nil)
|
||||||
proc.startup.subscriber(proc, REQAclDeleteSource, nil)
|
proc.startup.subscriber(proc, REQAclDeleteSource, nil)
|
||||||
|
@ -345,11 +343,6 @@ func (p *processes) Start(proc process) {
|
||||||
proc.startup.subscriber(proc, REQAclImport, nil)
|
proc.startup.subscriber(proc, REQAclImport, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Moved this together with proc.configuration.StartPubREQKeysRequestUpdate since they belong together.
|
|
||||||
// if proc.configuration.StartSubREQKeysDeliverUpdate {
|
|
||||||
// proc.startup.subREQKeysDeliverUpdate(proc)
|
|
||||||
// }
|
|
||||||
|
|
||||||
if proc.configuration.StartSubREQHttpGet {
|
if proc.configuration.StartSubREQHttpGet {
|
||||||
proc.startup.subscriber(proc, REQHttpGet, nil)
|
proc.startup.subscriber(proc, REQHttpGet, nil)
|
||||||
}
|
}
|
||||||
|
@ -397,6 +390,8 @@ func newStartup(server *server) *startup {
|
||||||
return &s
|
return &s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// subscriber will start a subscriber process. It takes the initial process, request method,
|
||||||
|
// and a procFunc as it's input arguments. If a procFunc os not needed, use the value nil.
|
||||||
func (s *startup) subscriber(p process, m Method, pf func(ctx context.Context, procFuncCh chan Message) error) {
|
func (s *startup) subscriber(p process, m Method, pf func(ctx context.Context, procFuncCh chan Message) error) {
|
||||||
er := fmt.Errorf("starting %v subscriber: %#v", m, p.node)
|
er := fmt.Errorf("starting %v subscriber: %#v", m, p.node)
|
||||||
p.errorKernel.logDebug(er, p.configuration)
|
p.errorKernel.logDebug(er, p.configuration)
|
||||||
|
|
Loading…
Reference in a new issue