chore(runner): update runner status if start program

This commit is contained in:
Bo-Yi Wu
2022-10-14 10:06:52 +08:00
committed by Jason Song
parent 45b0429b21
commit d4c1515f4e
6 changed files with 31 additions and 11 deletions

View File

@ -9,8 +9,9 @@ import (
"gitea.com/gitea/act_runner/engine"
"gitea.com/gitea/act_runner/poller"
"gitea.com/gitea/act_runner/runtime"
pingv1 "gitea.com/gitea/proto-go/ping/v1"
runnerv1 "gitea.com/gitea/proto-go/runner/v1"
"github.com/bufbuild/connect-go"
"github.com/joho/godotenv"
log "github.com/sirupsen/logrus"
@ -98,9 +99,32 @@ func runDaemon(ctx context.Context, task *runtime.Task) func(cmd *cobra.Command,
return err
}
// update runner status to idle
log.Infoln("update runner status to idle")
if _, err := cli.UpdateRunner(
context.Background(),
connect.NewRequest(&runnerv1.UpdateRunnerRequest{
Status: runnerv1.RunnerStatus_RUNNER_STATUS_OFFLINE,
}),
); err != nil {
return err
}
return poller.Poll(ctx, cfg.Runner.Capacity)
})
g.Go(func() error {
<-ctx.Done()
log.Infoln("update runner status to offline")
_, err := cli.UpdateRunner(
context.Background(),
connect.NewRequest(&runnerv1.UpdateRunnerRequest{
Status: runnerv1.RunnerStatus_RUNNER_STATUS_OFFLINE,
}),
)
return err
})
err = g.Wait()
if err != nil {
log.WithError(err).