2 回答
TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
您的程序中有幾個(gè)錯(cuò)誤。運(yùn)行時(shí)錯(cuò)誤是因?yàn)槟跈z查 if err2is not nil,但是您正在打印err,而不是err2. err為零,因此運(yùn)行時(shí)錯(cuò)誤。
這意味著err2不是零,所以你應(yīng)該看到那個(gè)錯(cuò)誤是什么。
您提到您正在分批發(fā)送 50 條消息,但該實(shí)現(xiàn)是錯(cuò)誤的。您將元素添加到itemList,然后用 that 啟動(dòng)一個(gè) goroutine itemList,然后截?cái)嗨⒃俅伍_(kāi)始填充。這是一場(chǎng)數(shù)據(jù)競(jìng)賽,你的 goroutine 將看到itemList處理程序正在修改的實(shí)例。無(wú)需截?cái)?,只?code>itemList在向 goroutine 提交一個(gè)時(shí)創(chuàng)建一個(gè)新的,這樣每個(gè) goroutine 都可以擁有自己的副本。
如果您想繼續(xù)使用相同的切片,您可以編組切片,然后將 JSON 消息傳遞給 goroutine 而不是切片。
TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
您收到的錯(cuò)誤是您發(fā)出請(qǐng)求的服務(wù)器發(fā)送的錯(cuò)誤。查看此內(nèi)容以了解有關(guān)該錯(cuò)誤的更多信息。
很可能是以下 for 循環(huán)
for index, barcode := range itemBulk.Barcodes{迭代次數(shù)過(guò)多,并且因?yàn)槟褂脝为?dú)的 go 例程來(lái)創(chuàng)建請(qǐng)求,所有請(qǐng)求同時(shí)發(fā)生,這會(huì)導(dǎo)致服務(wù)器過(guò)載或故意關(guān)閉連接。
- 2 回答
- 0 關(guān)注
- 164 瀏覽
添加回答
舉報(bào)
