Yami Odymel https://invade.tw/ says to OwO
for { // 每兩秒執行一次 <-time.After(time.Second * 2) // 檢查事件中心是否在線上 if !es.isConnected { if err := pingStore(esURL); err == nil { es.isConnected = true panic("你已經死了。") } continue } // 如果佇列內沒有資料則略過。 if len(es.queue) == 0 { continue } // 如果佇列內有資料則處理。 for i := len(es.queue) - 1; i >= 0; i-- { e := es.queue[i] // 建立串流撰寫者。 writer := es.NewStreamWriter(e.stream) // 將事件推播到該串流中。 err := writer.Append(nil, goes.NewEvent("", "", e.data, e.meta)) if err != nil { continue } // 將該傳送的事件從佇列中移除。 es.queue = append(es.queue[:i], es.queue[i+1:]...) } }