mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-22 13:25:21 +02:00
Support bot site
This commit is contained in:
parent
7059cd7265
commit
9a45572ce2
@ -136,17 +136,21 @@ func updateRepoRunsNumbers(ctx context.Context, repo *repo_model.Repository) err
|
||||
|
||||
// InsertRun inserts a bot run
|
||||
func InsertRun(run *Run, jobs []*jobparser.SingleWorkflow) error {
|
||||
index, err := db.GetNextResourceIndex("bots_run_index", run.RepoID)
|
||||
ctx, commiter, err := db.TxContext(db.DefaultContext)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer commiter.Close()
|
||||
|
||||
index, err := db.GetNextResourceIndex(ctx, "bots_run_index", run.RepoID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
run.Index = index
|
||||
|
||||
ctx, commiter, err := db.TxContext()
|
||||
if err != nil {
|
||||
return err
|
||||
if run.Status == StatusUnknown {
|
||||
run.Status = StatusWaiting
|
||||
}
|
||||
defer commiter.Close()
|
||||
|
||||
if err := db.Insert(ctx, run); err != nil {
|
||||
return err
|
||||
|
@ -291,7 +291,7 @@ func GetTaskByToken(ctx context.Context, token string) (*Task, error) {
|
||||
}
|
||||
|
||||
func CreateTaskForRunner(ctx context.Context, runner *Runner) (*Task, bool, error) {
|
||||
dbCtx, commiter, err := db.TxContext()
|
||||
dbCtx, commiter, err := db.TxContext(ctx)
|
||||
if err != nil {
|
||||
return nil, false, err
|
||||
}
|
||||
@ -422,7 +422,7 @@ func UpdateTaskByState(state *runnerv1.TaskState) (*Task, error) {
|
||||
stepStates[v.Id] = v
|
||||
}
|
||||
|
||||
ctx, commiter, err := db.TxContext()
|
||||
ctx, commiter, err := db.TxContext(db.DefaultContext)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -485,7 +485,7 @@ func UpdateTaskByState(state *runnerv1.TaskState) (*Task, error) {
|
||||
}
|
||||
|
||||
func StopTask(ctx context.Context, task *Task, result runnerv1.Result) (*Task, error) {
|
||||
ctx, commiter, err := db.TxContext()
|
||||
ctx, commiter, err := db.TxContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -285,7 +285,7 @@ func (f *file) truncate() error {
|
||||
if f.metaID == 0 {
|
||||
return os.ErrNotExist
|
||||
}
|
||||
return db.WithTx(func(ctx context.Context) error {
|
||||
return db.WithTx(f.ctx, func(ctx context.Context) error {
|
||||
if _, err := db.GetEngine(ctx).Exec("UPDATE file_meta SET file_size = 0 WHERE id = ?", f.metaID); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -293,7 +293,7 @@ func (f *file) truncate() error {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}, f.ctx)
|
||||
})
|
||||
}
|
||||
|
||||
func (f *file) renameTo(newPath string) error {
|
||||
@ -301,19 +301,19 @@ func (f *file) renameTo(newPath string) error {
|
||||
return os.ErrNotExist
|
||||
}
|
||||
newPath = buildPath(newPath)
|
||||
return db.WithTx(func(ctx context.Context) error {
|
||||
return db.WithTx(f.ctx, func(ctx context.Context) error {
|
||||
if _, err := db.GetEngine(ctx).Exec("UPDATE file_meta SET full_path = ? WHERE id = ?", newPath, f.metaID); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}, f.ctx)
|
||||
})
|
||||
}
|
||||
|
||||
func (f *file) delete() error {
|
||||
if f.metaID == 0 {
|
||||
return os.ErrNotExist
|
||||
}
|
||||
return db.WithTx(func(ctx context.Context) error {
|
||||
return db.WithTx(f.ctx, func(ctx context.Context) error {
|
||||
if _, err := db.GetEngine(ctx).Delete(&FileMeta{ID: f.metaID}); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -321,7 +321,7 @@ func (f *file) delete() error {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}, f.ctx)
|
||||
})
|
||||
}
|
||||
|
||||
func (f *file) size() (int64, error) {
|
||||
|
@ -46,7 +46,7 @@ func jobEmitterQueueHandle(data ...queue.Data) []queue.Data {
|
||||
}
|
||||
|
||||
func checkJobsOfRun(ctx context.Context, runID int64) error {
|
||||
return db.WithTx(func(ctx context.Context) error {
|
||||
return db.WithTx(ctx, func(ctx context.Context) error {
|
||||
jobs, _, err := bots_model.FindRunJobs(ctx, bots_model.FindRunJobOptions{RunID: runID})
|
||||
if err != nil {
|
||||
return err
|
||||
@ -68,7 +68,7 @@ func checkJobsOfRun(ctx context.Context, runID int64) error {
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}, ctx)
|
||||
})
|
||||
}
|
||||
|
||||
type jobStatusResolver struct {
|
||||
|
@ -210,10 +210,10 @@ func Rerun(ctx *context_module.Context) {
|
||||
job.Started = 0
|
||||
job.Stopped = 0
|
||||
|
||||
if err := db.WithTx(func(ctx context.Context) error {
|
||||
if err := db.WithTx(ctx, func(ctx context.Context) error {
|
||||
_, err := bots_model.UpdateRunJob(ctx, job, builder.Eq{"status": status}, "task_id", "status", "started", "stopped")
|
||||
return err
|
||||
}, ctx); err != nil {
|
||||
}); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
|
@ -77,10 +77,10 @@ func CancelAbandonedJobs(ctx context.Context) error {
|
||||
for _, job := range jobs {
|
||||
job.Status = bots_model.StatusCancelled
|
||||
job.Stopped = now
|
||||
if err := db.WithTx(func(ctx context.Context) error {
|
||||
if err := db.WithTx(ctx, func(ctx context.Context) error {
|
||||
_, err := bots_model.UpdateRunJob(ctx, job, nil, "status", "stopped")
|
||||
return err
|
||||
}, ctx); err != nil {
|
||||
}); err != nil {
|
||||
log.Warn("cancel abandoned job %v: %v", job.ID, err)
|
||||
// go on
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user