gitea/routers/api/bots/scheduler/queue/scheduler.go
Bo-Yi.Wu ea0cf8515e chore(gRPC): handle requesut for stage data
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
2022-11-25 17:48:44 +08:00

38 lines
678 B
Go

// Copyright 2022 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package queue
import (
"context"
"time"
"code.gitea.io/gitea/routers/api/bots/core"
)
type scheduler struct {
*queue
}
// New creates a new scheduler.
func New() core.Scheduler {
return scheduler{
queue: newQueue(),
}
}
// newQueue returns a new Queue backed by the build datastore.
func newQueue() *queue {
q := &queue{
ready: make(chan struct{}, 1),
workers: map[*worker]struct{}{},
interval: time.Minute,
ctx: context.Background(),
}
go func() {
_ = q.start()
}()
return q
}