Skip to content

Commit 62c52c0

Browse files
committed
fix(runner): scanner fix
1 parent e076b20 commit 62c52c0

File tree

2 files changed

+25
-23
lines changed

2 files changed

+25
-23
lines changed

services/runners/running_job.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -105,24 +105,28 @@ func (p *runningJob) logPipe(reader io.Reader) {
105105
p.Log(line)
106106
}
107107

108-
msg := "Failed to read TaskRunner output"
109-
110-
switch scanner.Err().Error() {
111-
case "EOF",
112-
"os: process already finished",
113-
"read |0: file already closed":
114-
return // it is ok
115-
case "bufio.Scanner: token too long":
116-
msg = "TaskRunner output exceeds the maximum allowed size of 10MB"
117-
break
118-
}
108+
err := scanner.Err()
109+
110+
if err != nil {
111+
msg := "Failed to read TaskRunner output"
119112

120-
p.job.Kill() // kill the job because stdout cannot be read.
113+
switch err.Error() {
114+
case "EOF",
115+
"os: process already finished",
116+
"read |0: file already closed":
117+
return // it is ok
118+
case "bufio.Scanner: token too long":
119+
msg = "TaskRunner output exceeds the maximum allowed size of 10MB"
120+
break
121+
}
121122

122-
log.WithError(scanner.Err()).WithFields(log.Fields{
123-
"task_id": p.job.Task.ID,
124-
"context": "job",
125-
}).Error(msg)
123+
p.job.Kill() // kill the job because stdout cannot be read.
126124

127-
p.Log("Fatal error: " + msg)
125+
log.WithError(err).WithFields(log.Fields{
126+
"task_id": p.job.Task.ID,
127+
"context": "task_logger",
128+
}).Error(msg)
129+
130+
p.Log("Fatal error: " + msg)
131+
}
128132
}

services/tasks/TaskRunner_logging.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,12 @@ func (t *TaskRunner) logPipe(reader io.Reader) {
164164

165165
close(linesCh)
166166

167-
if scanner.Err() != nil {
168-
if scanner.Err().Error() == "EOF" {
169-
return // it is ok
170-
}
167+
err := scanner.Err()
171168

169+
if err != nil {
172170
msg := "Failed to read TaskRunner output"
173171

174-
switch scanner.Err().Error() {
172+
switch err.Error() {
175173
case "EOF",
176174
"os: process already finished",
177175
"read |0: file already closed":
@@ -183,7 +181,7 @@ func (t *TaskRunner) logPipe(reader io.Reader) {
183181

184182
t.kill() // kill the job because stdout cannot be read.
185183

186-
log.WithError(scanner.Err()).WithFields(log.Fields{
184+
log.WithError(err).WithFields(log.Fields{
187185
"task_id": t.Task.ID,
188186
"context": "task_logger",
189187
}).Error(msg)

0 commit comments

Comments
 (0)