Read upstream job ID as ID when it isn't null

Read upstream job ID as ID when it isn't null to fix the job not found error

Signed-off-by: Wenkai Yin <yinw@vmware.com>
This commit is contained in:
Wenkai Yin 2021-04-27 14:45:33 +08:00
parent 46dcf7b0cb
commit 0539f051a2

View File

@ -49,14 +49,11 @@ func (h *HookHandler) Handle(ctx context.Context, sc *job.StatusChange) error {
logger := log.GetLogger(ctx)
jobID := sc.JobID
// when a "KindScheduled" job is scheduled by a periodical job, it's "JobID" field
// is set as "87bbdee19bed5ce09c48a149@1605104520" which contains "@". In this case,
// read the parent periodical job ID from "sc.Metadata.UpstreamJobID"
if sc.Metadata.JobKind == job.KindScheduled {
// the "JobID" field of some kinds of jobs are set as "87bbdee19bed5ce09c48a149@1605104520" which contains "@".
// In this case, read the parent periodical job ID from "sc.Metadata.UpstreamJobID"
if len(sc.Metadata.UpstreamJobID) > 0 {
jobID = sc.Metadata.UpstreamJobID
}
}
tasks, err := h.taskDAO.List(ctx, &q.Query{
Keywords: map[string]interface{}{
"JobID": jobID,