支持优雅退出

This commit is contained in:
刘祥超
2020-10-28 11:19:06 +08:00
parent 0be8b78201
commit 1d6b0559e6
19 changed files with 238 additions and 15 deletions

27
internal/events/utils.go Normal file
View File

@@ -0,0 +1,27 @@
package events
import "sync"
var eventsMap = map[string][]func(){} // event => []callbacks
var locker = sync.Mutex{}
// 增加事件回调
func On(event string, callback func()) {
locker.Lock()
defer locker.Unlock()
callbacks, _ := eventsMap[event]
callbacks = append(callbacks, callback)
eventsMap[event] = callbacks
}
// 通知事件
func Notify(event string) {
locker.Lock()
callbacks, _ := eventsMap[event]
locker.Unlock()
for _, callback := range callbacks {
callback()
}
}