pkg/schedule/schedule.go
func NewFIFOScheduler() Scheduler {
	f := &fifo{
		resume: make(chan struct{}, 1),
		donec:  make(chan struct{}, 1),
	}
	f.finishCond = sync.NewCond(&f.mu)
	f.ctx, f.cancel = context.WithCancel(context.Background())
	go f.run()
	return f
}
func NewFIFOScheduler() Scheduler {
	f := &fifo{
		resume: make(chan struct{}, 1),
		donec:  make(chan struct{}, 1),
	}
	f.finishCond = sync.NewCond(&f.mu)
	f.ctx, f.cancel = context.WithCancel(context.Background())
	go f.run()
	return f
}
func NewFIFOScheduler ( ) Scheduler { f := & fifo { resume : make ( chan struct { } , 1 ) , donec : make ( chan struct { } , 1 ) , } f . finishCond = sync . NewCond ( & f . mu ) f . ctx , f . cancel = context . WithCancel ( context . Background ( ) ) go f . run ( ) return f }
// NewFIFOScheduler returns a Scheduler that schedules jobs in FIFO
// order sequentially
NewFIFOScheduler returns a Scheduler that schedules jobs in FIFO order sequentially