package comm type TaskState int const ( BT_STATE_QUITED_CACEL = -1 //loop取消退出 BT_STATE_QUITED_EXCEPTION = -2 //loop异常退出 BT_STATE_QUITED_NORMAL = -3 //loop退出 BT_STATE_INIT = iota + 1 //初始化中 BT_STATE_RUNING //正常运行中 BT_STATE_EXCEPTION_RESTARTING //异常重启中 BT_STATE_NORMAL_RESTARTING //主动重启中 ) type TaskRunCallback func(error) type Task interface { GetRuningState() TaskState CancelRuning() Restart() InitTask(interface{}) Run(overCallback TaskRunCallback) error IsAsync() bool //是否异步任务 同步任务会等待执行完毕直接返回结果,异步任务,开启新线程后执行,不会等待结果 GetNats() *NatsBus SetNats(*NatsBus) GetName() string SetName(string) GetID() string SetID(string) } type EventTask interface { Task RegistorEvent(events string, listen EventListener) //发送同步事件 EmitEvent(name string, data interface{}) (interface{}, error) }