// go-mysqlbinlog: a simple binlog tool to sync remote MySQL binlog. // go-mysqlbinlog supports semi-sync mode like facebook mysqlbinlog. // see http://yoshinorimatsunobu.blogspot.com/2014/04/semi-synchronous-replication-at-facebook.html package session // time go run mainRemote.go -start-time="2018-09-17 00:00:00" -stop-time="2018-09-25 00:00:00" -o=1.sql import ( "fmt" "github.com/imroc/req" log "github.com/sirupsen/logrus" "time" ) // const ( // // SOCKET_HOST = "127.0.0.1" // // SOCKET_PORT = 8090 // // URL string = "http://127.0.0.1:8090/socket" // ) var URL string var header = req.Header{"Accept": "application/json"} func init() { req.SetTimeout(5 * time.Second) } // 向客户端推送消息 func sendMsg(user string, event string, title string, text string, kwargs map[string]interface{}) bool { if user == "" { return true } if URL == "" { return false } url := fmt.Sprintf("%s/room/%s", URL, user) param := req.Param{ "event": event, "title": title, "content": text, } if kwargs != nil && len(kwargs) > 0 { for k, v := range kwargs { param[k] = v } } r, err := req.Post(url, header, param) if err != nil { log.Error("请求websocket失败!") log.Print(err) return false } // r.ToJSON(&foo) // 响应体转成对象 // log.Printf("%+v", r) // 打印详细信息 resp := r.Response() if resp.StatusCode == 200 { return true } else { log.Error("请求websocket失败!") log.Printf("%+v", r) // 打印详细信息 return false } }