12345678910111213141516171819202122232425262728293031323334 |
- package routine
- import (
- "sync"
- "github.com/langgenius/dify-plugin-daemon/internal/utils/log"
- "github.com/panjf2000/ants"
- )
- var (
- p *ants.Pool
- l sync.Mutex
- )
- func IsInit() bool {
- l.Lock()
- defer l.Unlock()
- return p != nil
- }
- func InitPool(size int) {
- l.Lock()
- defer l.Unlock()
- if p != nil {
- return
- }
- log.Info("init routine pool, size: %d", size)
- p, _ = ants.NewPool(size, ants.WithNonblocking(false))
- }
- func Submit(f func()) {
- p.Submit(f)
- }
|