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
386670ca
Commit
386670ca
authored
May 13, 2024
by
duanjinfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update use container port
parent
9999e03d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
10 deletions
+10
-10
task_handler.go
nm/task_handler.go
+10
-10
No files found.
nm/task_handler.go
View file @
386670ca
...
...
@@ -166,7 +166,7 @@ func (t *TaskWorker) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage)
t
.
ExecTaskIdIsFinished
.
Store
(
taskMsg
.
TaskId
,
true
)
return
}
running
,
_
,
_
:=
t
.
foundImageIsRunning
(
taskOp
.
taskCmd
.
ImageName
)
running
,
_
:=
t
.
foundImageIsRunning
(
taskOp
.
taskCmd
.
ImageName
)
if
!
running
{
taskOp
.
taskCmd
.
DockerCmd
.
HostIp
=
models
.
ZeroHost
taskOp
.
taskCmd
.
DockerCmd
.
HostPort
=
t
.
getExternalPort
()
...
...
@@ -179,7 +179,7 @@ func (t *TaskWorker) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage)
}
log
.
Infof
(
"Started container with ID %s"
,
containerId
)
}
if
err
=
taskOp
.
waitContainerRunning
(
t
,
taskOp
.
taskCmd
.
ImageName
);
err
!=
nil
{
if
err
=
taskOp
.
waitContainerRunning
(
t
,
taskOp
.
taskCmd
.
ImageName
,
uint16
(
taskOp
.
taskCmd
.
DockerCmd
.
ContainerPort
)
);
err
!=
nil
{
taskOp
.
taskExecResult
.
TaskExecError
=
fmt
.
Sprintf
(
"%s"
,
err
.
Error
())
t
.
ExecTaskIdIsFinished
.
Store
(
taskMsg
.
TaskId
,
true
)
return
...
...
@@ -267,7 +267,7 @@ func (t *TaskWorker) foundTaskImage(taskCmd *models.TaskCmd) (imageId string) {
return
}
func
(
t
*
TaskWorker
)
foundImageIsRunning
(
imageName
string
)
(
bool
,
string
,
uint16
)
{
func
(
t
*
TaskWorker
)
foundImageIsRunning
(
imageName
string
)
(
bool
,
string
)
{
containers
:=
t
.
DockerOp
.
ListContainer
()
for
_
,
container
:=
range
containers
{
if
container
.
Image
==
imageName
&&
container
.
State
==
"running"
{
...
...
@@ -277,10 +277,10 @@ func (t *TaskWorker) foundImageIsRunning(imageName string) (bool, string, uint16
ip
=
endPoint
.
IPAddress
log
.
Warn
(
"Container network ip:"
,
ip
)
}
return
true
,
ip
,
container
.
Ports
[
0
]
.
PrivatePort
return
true
,
ip
}
}
return
false
,
""
,
0
return
false
,
""
}
func
(
t
*
TaskWorker
)
checkLastTaskExecStatus
(
taskMsg
*
nodeManagerV1
.
PushTaskMessage
)
{
...
...
@@ -464,7 +464,7 @@ func (op *TaskOp) checkContainerHealthy(internalIp string, internalPort uint16)
return
true
,
nil
}
func
(
op
*
TaskOp
)
waitContainerRunning
(
handler
*
TaskWorker
,
imageName
string
)
error
{
func
(
op
*
TaskOp
)
waitContainerRunning
(
handler
*
TaskWorker
,
imageName
string
,
containerPort
uint16
)
error
{
maxExecTime
:=
op
.
GetMaxExecTime
()
log
.
WithField
(
"maxExecTime"
,
maxExecTime
)
.
Info
(
"Waiting for container running"
,
imageName
)
for
{
...
...
@@ -474,20 +474,20 @@ func (op *TaskOp) waitContainerRunning(handler *TaskWorker, imageName string) er
log
.
Errorf
(
"%s"
,
"The maximum execution time for this task has been exceeded"
)
return
fmt
.
Errorf
(
"%s"
,
"The maximum execution time for this task has been exceeded"
)
}
running
,
internalIp
,
internalPort
:=
handler
.
foundImageIsRunning
(
imageName
)
running
,
internalIp
:=
handler
.
foundImageIsRunning
(
imageName
)
if
!
running
{
continue
}
if
isMatch
:=
strings
.
HasPrefix
(
op
.
taskCmd
.
ImageName
,
conf
.
GetConfig
()
.
ReplicateImageNameSuffix
);
isMatch
{
if
isReqSuccess
,
err
:=
op
.
checkContainerHealthy
(
internalIp
,
internal
Port
);
err
!=
nil
{
if
isReqSuccess
,
err
:=
op
.
checkContainerHealthy
(
internalIp
,
container
Port
);
err
!=
nil
{
log
.
WithField
(
"err"
,
err
)
.
Errorf
(
"check container healthy failed"
)
return
fmt
.
Errorf
(
"%s-%s"
,
"check container healthy failed"
,
err
.
Error
())
}
else
if
!
isReqSuccess
{
continue
}
}
op
.
taskCmd
.
ApiUrl
=
fmt
.
Sprintf
(
"http://%s:%d%s"
,
internalIp
,
internal
Port
,
op
.
taskCmd
.
ApiUrl
)
log
.
Info
(
"Container port
s:"
,
internal
Port
)
op
.
taskCmd
.
ApiUrl
=
fmt
.
Sprintf
(
"http://%s:%d%s"
,
internalIp
,
container
Port
,
op
.
taskCmd
.
ApiUrl
)
log
.
Info
(
"Container port
:"
,
container
Port
)
log
.
WithField
(
"ApiUrl"
,
op
.
taskCmd
.
ApiUrl
)
.
Info
(
"The image is not running"
)
return
nil
}
...
...
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