forked from mirrors/homebox
21 lines
449 B
Go
21 lines
449 B
Go
|
package server
|
||
|
|
||
|
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 {
|
||
|
}
|
||
|
|
||
|
func NewSimpleWorker() *SimpleWorker {
|
||
|
return &SimpleWorker{}
|
||
|
}
|
||
|
|
||
|
func (sw *SimpleWorker) Add(task func()) {
|
||
|
go task()
|
||
|
}
|