homebox/backend/pkgs/server/worker.go

22 lines
496 B
Go
Raw Normal View History

2022-08-30 02:30:36 +00:00
package server
// TODO: #2 Implement Go routine pool/job queue
2022-08-30 02:30:36 +00:00
type Worker interface {
Add(func())
}
// SimpleWorker is a simple background worker that implements
// the Worker interface and runs all tasks in a go routine without
// a pool or que or limits. It's useful for simple or small applications
// with minimal/short background tasks
type SimpleWorker struct{}
2022-08-30 02:30:36 +00:00
func NewSimpleWorker() *SimpleWorker {
return &SimpleWorker{}
}
func (sw *SimpleWorker) Add(task func()) {
go task()
}