Как обработать ошибку EOF от MGO в Голанге - PullRequest
0 голосов
/ 26 сентября 2018

Редко я вижу ошибку EOF от mgo в моих журналах.В поисках этой проблемы я наткнулся на это обсуждение , где предполагается, что было бы безопасно поставить session.Refresh() в начале цикла, чтобы решить эту проблему, другие проблемы, такие как ошибка сокета, время ожидания и т. Д.

Однако я не мог найти, должен ли мой цикл быть таким, где коллекция (* mgo.Collection) переназначается после каждого Refresh ():

session := // create mgo session
var collection *mgo.Collection

for{
    session.Refresh()

    collection := session.DB("dbname").C("collectionName")
    ....
}

ИЛИ как ниже, гдеколлекция назначается один раз за пределами цикла:

session := // create mgo session
collection := session.DB("dbname").C("collectionName")
for{
    session.Refresh()

    ....
}

Отправка этого сообщения, поскольку я не могу смоделировать этот вопрос по желанию

...