Files
crawlab/backend/utils/chan.go
2019-09-10 09:32:48 +08:00

30 lines
494 B
Go

package utils
var TaskExecChanMap = NewChanMap()
type ChanMap struct {
m map[string]chan string
}
func NewChanMap() *ChanMap {
return &ChanMap{m: make(map[string]chan string)}
}
func (cm *ChanMap) Chan(key string) chan string {
if ch, ok := cm.m[key]; ok {
return ch
}
ch := make(chan string, 10)
cm.m[key] = ch
return ch
}
func (cm *ChanMap) ChanBlocked(key string) chan string {
if ch, ok := cm.m[key]; ok {
return ch
}
ch := make(chan string)
cm.m[key] = ch
return ch
}