feat: use job emitter

This commit is contained in:
Jason Song
2022-11-04 15:11:51 +08:00
parent cf40dca0c4
commit dc7e64041a
8 changed files with 251 additions and 8 deletions

View File

@@ -16,12 +16,16 @@ type RunJobList []*RunJob
type FindRunJobOptions struct {
db.ListOptions
RunID int64
Statuses []Status
StartedBefore timeutil.TimeStamp
}
func (opts FindRunJobOptions) toConds() builder.Cond {
cond := builder.NewCond()
if opts.RunID > 0 {
cond = cond.And(builder.Eq{"run_id": opts.RunID})
}
if len(opts.Statuses) > 0 {
cond = cond.And(builder.In("status", opts.Statuses))
}

View File

@@ -52,6 +52,15 @@ func (s Status) IsRunning() bool {
return s == StatusRunning
}
func (s Status) In(statuses ...Status) bool {
for _, v := range statuses {
if s == v {
return true
}
}
return false
}
var statusNames = map[Status]string{
StatusUnknown: "unknown",
StatusWaiting: "waiting",
@@ -60,4 +69,5 @@ var statusNames = map[Status]string{
StatusFailure: "failure",
StatusCancelled: "cancelled",
StatusSkipped: "skipped",
StatusBlocked: "blocked",
}

View File

@@ -16,7 +16,6 @@ import (
auth_model "code.gitea.io/gitea/models/auth"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/bots"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util"
@@ -292,7 +291,7 @@ func CreateTaskForRunner(ctx context.Context, runner *Runner) (*Task, bool, erro
return nil, false, err
}
task.LogFilename = bots.LogFileName(job.Run.Repo.FullName(), task.ID)
task.LogFilename = logFileName(job.Run.Repo.FullName(), task.ID)
if _, err := e.ID(task.ID).Cols("log_filename").Update(task); err != nil {
return nil, false, err
}
@@ -483,3 +482,7 @@ func convertTimestamp(timestamp *timestamppb.Timestamp) timeutil.TimeStamp {
}
return timeutil.TimeStamp(timestamp.AsTime().Unix())
}
func logFileName(repoFullName string, taskID int64) string {
return fmt.Sprintf("%s/%02x/%d.log", repoFullName, taskID%256, taskID)
}