mirror of
https://github.com/postmannen/ctrl.git
synced 2025-03-05 06:46:48 +00:00
removed the inner map of procsmap
This commit is contained in:
parent
37d120950e
commit
307695842f
4 changed files with 17 additions and 39 deletions
12
process.go
12
process.go
|
@ -184,11 +184,8 @@ func (p process) spawnWorker(procs *processes, natsConn *nats.Conn) {
|
|||
p.processName = pn
|
||||
|
||||
// Add information about the new process to the started processes map.
|
||||
idProcMap := make(map[int]process)
|
||||
idProcMap[p.processID] = p
|
||||
|
||||
procs.active.mu.Lock()
|
||||
procs.active.procNames[pn] = idProcMap
|
||||
procs.active.procNames[pn] = p
|
||||
procs.active.mu.Unlock()
|
||||
}
|
||||
|
||||
|
@ -461,12 +458,7 @@ func (p process) publishMessages(natsConn *nats.Conn) {
|
|||
|
||||
{
|
||||
p.processes.active.mu.Lock()
|
||||
procToUpdate, ok := p.processes.active.procNames[pn]
|
||||
if !ok {
|
||||
log.Printf(" * debugError: found no proc to update by that name: %v\n", pn)
|
||||
}
|
||||
|
||||
procToUpdate[p.processID] = p
|
||||
p.processes.active.procNames[pn] = p
|
||||
p.processes.active.mu.Unlock()
|
||||
}
|
||||
|
||||
|
|
10
processes.go
10
processes.go
|
@ -54,13 +54,13 @@ func newProcesses(ctx context.Context, metrics *metrics) *processes {
|
|||
// ----------------------
|
||||
|
||||
type procsMap struct {
|
||||
procNames map[processName]map[int]process
|
||||
procNames map[processName]process
|
||||
mu sync.Mutex
|
||||
}
|
||||
|
||||
func newProcsMap() *procsMap {
|
||||
cM := procsMap{
|
||||
procNames: make(map[processName]map[int]process),
|
||||
procNames: make(map[processName]process),
|
||||
}
|
||||
return &cM
|
||||
}
|
||||
|
@ -377,10 +377,8 @@ func (p *processes) printProcessesMap() {
|
|||
{
|
||||
p.active.mu.Lock()
|
||||
|
||||
for pName, pidMap := range p.active.procNames {
|
||||
for pid, proc := range pidMap {
|
||||
log.Printf("* proc - pub/sub: %v, procName in map: %v ,pid in map: %v,id: %v, subject: %v\n", proc.processKind, pName, pid, proc.processID, proc.subject.name())
|
||||
}
|
||||
for pName, proc := range p.active.procNames {
|
||||
log.Printf("* proc - pub/sub: %v, procName in map: %v , id: %v, subject: %v\n", proc.processKind, pName, proc.processID, proc.subject.name())
|
||||
}
|
||||
|
||||
p.metrics.promProcessesTotal.Set(float64(len(p.active.procNames)))
|
||||
|
|
24
requests.go
24
requests.go
|
@ -381,12 +381,10 @@ func (m methodREQOpCommand) handler(proc process, message Message, nodeName stri
|
|||
// be returned in the reply message.
|
||||
|
||||
proc.processes.active.mu.Lock()
|
||||
for _, idMap := range proc.processes.active.procNames {
|
||||
for _, idMapValue := range idMap {
|
||||
s := fmt.Sprintf("%v, proc: %v, id: %v, name: %v\n", time.Now().Format("Mon Jan _2 15:04:05 2006"), idMapValue.processKind, idMapValue.processID, idMapValue.subject.name())
|
||||
sb := []byte(s)
|
||||
out = append(out, sb...)
|
||||
}
|
||||
for _, pTmp := range proc.processes.active.procNames {
|
||||
s := fmt.Sprintf("%v, proc: %v, id: %v, name: %v\n", time.Now().Format("Mon Jan _2 15:04:05 2006"), pTmp.processKind, pTmp.processID, pTmp.subject.name())
|
||||
sb := []byte(s)
|
||||
out = append(out, sb...)
|
||||
|
||||
}
|
||||
proc.processes.active.mu.Unlock()
|
||||
|
@ -461,7 +459,7 @@ func (m methodREQOpCommand) handler(proc process, message Message, nodeName stri
|
|||
// Remove the process from the processes active map if found.
|
||||
|
||||
proc.processes.active.mu.Lock()
|
||||
toStopProc, ok := proc.processes.active.procNames[processName][arg.ID]
|
||||
toStopProc, ok := proc.processes.active.procNames[processName]
|
||||
|
||||
if ok {
|
||||
// Delete the process from the processes map
|
||||
|
@ -530,12 +528,10 @@ func (m methodREQOpProcessList) handler(proc process, message Message, node stri
|
|||
// be returned in the reply message.
|
||||
|
||||
proc.processes.active.mu.Lock()
|
||||
for _, pidMap := range proc.processes.active.procNames {
|
||||
for _, pid := range pidMap {
|
||||
s := fmt.Sprintf("%v, process: %v, id: %v, name: %v\n", time.Now().Format("Mon Jan _2 15:04:05 2006"), pid.processKind, pid.processID, pid.subject.name())
|
||||
sb := []byte(s)
|
||||
out = append(out, sb...)
|
||||
}
|
||||
for _, pTmp := range proc.processes.active.procNames {
|
||||
s := fmt.Sprintf("%v, process: %v, id: %v, name: %v\n", time.Now().Format("Mon Jan _2 15:04:05 2006"), pTmp.processKind, pTmp.processID, pTmp.subject.name())
|
||||
sb := []byte(s)
|
||||
out = append(out, sb...)
|
||||
|
||||
}
|
||||
proc.processes.active.mu.Unlock()
|
||||
|
@ -683,7 +679,7 @@ func (m methodREQOpProcessStop) handler(proc process, message Message, node stri
|
|||
|
||||
// Remove the process from the processes active map if found.
|
||||
proc.processes.active.mu.Lock()
|
||||
toStopProc, ok := proc.processes.active.procNames[processName][id]
|
||||
toStopProc, ok := proc.processes.active.procNames[processName]
|
||||
|
||||
if ok {
|
||||
// Delete the process from the processes map
|
||||
|
|
10
server.go
10
server.go
|
@ -453,21 +453,13 @@ func (s *server) routeMessagesToProcess(dbFileName string) {
|
|||
// Check if there is a map of type map[int]process registered
|
||||
// for the processName, and if it exists then return it.
|
||||
s.processes.active.mu.Lock()
|
||||
existingProcIDMap, ok := s.processes.active.procNames[pn]
|
||||
proc, ok := s.processes.active.procNames[pn]
|
||||
s.processes.active.mu.Unlock()
|
||||
|
||||
// If found a map above, range it, and are there already a process
|
||||
// for that subject, put the message on that processes incomming
|
||||
// message channel.
|
||||
if ok {
|
||||
var proc process
|
||||
|
||||
s.processes.active.mu.Lock()
|
||||
for _, existingProc := range existingProcIDMap {
|
||||
proc = existingProc
|
||||
}
|
||||
s.processes.active.mu.Unlock()
|
||||
|
||||
// We have found the process to route the message to, deliver it.
|
||||
proc.subject.messageCh <- m
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue