1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-07-27 17:28:35 +00:00

chore(runtime): fetch build data

Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi.Wu 2022-09-03 20:57:32 +08:00 committed by Jason Song
parent 631f801aa6
commit d3d56ed0ef
9 changed files with 77 additions and 78 deletions

View file

@ -1,31 +1,11 @@
package runtime
import (
"context"
"fmt"
"sync"
)
var globalTaskMap sync.Map
// startTask adds the task to global map
func startTask(buildID int64, ctx context.Context) error {
_, exist := globalTaskMap.Load(buildID)
if exist {
return fmt.Errorf("task %d already exists", buildID)
}
task := NewTask(buildID)
// set task ve to global map
// when task is done or canceled, it will be removed from the map
globalTaskMap.Store(buildID, task)
go task.Run(ctx)
return nil
}
// finishTask removes the task from global map
func finishTask(buildID int64) {
globalTaskMap.Delete(buildID)