使用mgo和mongodb的I / O超时

我正在通过mgo运行地图缩减任务。它运行在具有超过350万条记录的集合上。由于某些原因,我现在无法将此端口移植到聚合中。可能会晚一些。因此,map-

reduce是我期待的事情。当我从为测试代码和输出而创建的原始js文件运行该作业时,它运行良好。我试图将地图和减少代码放在两个字符串中,然后尝试调用mgo.MapReduce为我做地图减少,以便在其他集合中编写输出。它给了我

读取TCP 127.0.0.1:27017:I / O超时

但是,由于该作业已在后台解雇,因此仍在运行。现在根据这里的线程— http://grokbase.com/t/gg/mgo-

users/1396d9wyk3/io-timeout-in-statistics-generation-

upsert

通过调用session.SetSocketTimeout很容易解决,但是我不想这样做,因为运行此map-

reduce的文档总数会有所不同,因此,我相信时间也会有所不同。因此,我永远无法以这种方式解决问题。

我可能还有其他方式?

请帮我

回答:

将我的评论移至答案。

我相信解决此问题的唯一方法就是将套接字超时设置为高得离谱,例如:

session.SetSocketTimeout(1 * time.Hour)

以上是 使用mgo和mongodb的I / O超时 的全部内容, 来源链接: utcz.com/qa/407620.html

回到顶部