Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
power-node
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Odysseus
power-node
Commits
ea64d5cc
Commit
ea64d5cc
authored
Mar 10, 2024
by
duanjinfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add mutex
parent
92805fcd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
0 deletions
+9
-0
monitor_seed.go
nm/monitor_seed.go
+1
-0
start.go
nm/start.go
+4
-0
task_msg.go
nm/task_msg.go
+4
-0
No files found.
nm/monitor_seed.go
View file @
ea64d5cc
...
...
@@ -42,6 +42,7 @@ func monitorNodeManagerSeed() {
}
for
_
,
node
:=
range
list
.
GetManagers
()
{
if
isExistNodeManager
(
node
)
{
log
.
Warn
(
"Node manager is already exist and updated"
)
continue
}
nodeManagerArr
=
append
(
nodeManagerArr
,
&
NodeManager
{
Info
:
node
,
IsUsed
:
false
,
IsExist
:
true
})
...
...
nm/start.go
View file @
ea64d5cc
...
...
@@ -285,7 +285,9 @@ func handlerMsg(nodeManager *models.NodeManagerClient,
taskMsgWorker
.
Wg
.
Add
(
1
)
taskMsgWorker
.
TaskMsg
<-
taskMsg
taskMsgWorker
.
Wg
.
Wait
()
taskMsgWorker
.
Mutex
.
Lock
()
taskExecResInterface
,
_
:=
taskMsgWorker
.
LruCache
.
Get
(
taskMsg
.
TaskId
)
taskMsgWorker
.
Mutex
.
Unlock
()
//log.WithField("result", taskExecResInterface).Info("lru cache get task result")
taskExecRes
:=
&
models
.
TaskResult
{
TaskHttpStatusCode
:
200
,
...
...
@@ -305,11 +307,13 @@ func handlerMsg(nodeManager *models.NodeManagerClient,
}
reqHash
,
respHash
,
minerSign
:=
taskMsgWorker
.
GetMinerSign
(
taskMsg
,
taskExecRes
.
TaskRespBody
)
params
:=
buildParams
(
taskMsg
.
TaskId
,
containerSign
,
minerSign
,
taskExecRes
,
isSuccess
)
taskMsgWorker
.
Mutex
.
Lock
()
taskMsgWorker
.
LruCache
.
Add
(
taskMsg
.
TaskId
+
models
.
TaskType
,
taskMsg
.
TaskType
)
taskMsgWorker
.
LruCache
.
Add
(
taskMsg
.
TaskId
+
models
.
ContainerSign
,
containerSign
)
taskMsgWorker
.
LruCache
.
Add
(
taskMsg
.
TaskId
+
models
.
MinerSign
,
minerSign
)
taskMsgWorker
.
LruCache
.
Add
(
taskMsg
.
TaskId
+
models
.
ReqHash
,
reqHash
)
taskMsgWorker
.
LruCache
.
Add
(
taskMsg
.
TaskId
+
models
.
RespHash
,
respHash
)
taskMsgWorker
.
Mutex
.
Unlock
()
msgRespWorker
.
RegisterMsgResp
(
nodeManager
,
worker
,
SubmitResultResp
,
params
)
log
.
Info
(
"--------------taskMsg--------------:"
,
taskMsg
)
}(
msgRespWorker
,
taskMsgWorker
,
taskMsg
)
...
...
nm/task_msg.go
View file @
ea64d5cc
...
...
@@ -27,6 +27,7 @@ import (
type
TaskHandler
struct
{
Wg
*
sync
.
WaitGroup
Mutex
*
sync
.
Mutex
LruCache
*
lru
.
Cache
DockerOp
*
operate
.
DockerOp
CmdOp
*
operate
.
Command
...
...
@@ -41,6 +42,7 @@ var oldTaskImageName string
func
NewTaskWorker
(
op
*
operate
.
DockerOp
)
*
TaskHandler
{
return
&
TaskHandler
{
Wg
:
&
sync
.
WaitGroup
{},
Mutex
:
&
sync
.
Mutex
{},
LruCache
:
lru
.
New
(
100
),
DockerOp
:
op
,
TaskMsg
:
make
(
chan
*
nodeManagerV1
.
PushTaskMessage
,
0
),
...
...
@@ -288,7 +290,9 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage)
}
else
if
taskMsg
.
TaskKind
==
baseV1
.
TaskKind_StandardTask
{
t
.
IsExecStandardTask
=
false
}
t
.
Mutex
.
Lock
()
t
.
LruCache
.
Add
(
taskMsg
.
TaskId
,
taskExecResult
)
t
.
Mutex
.
Unlock
()
//log.WithField("result", taskExecResult).Info("lru cache storage task result")
log
.
Info
(
"received computeTask--------------------------------"
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment