10

我正在从 mgo 运行 map-reduce 作业。它运行在一个包含超过 350 万条记录的集合上。由于某些原因,我现在无法将其移植到聚合;可能会更晚。所以,map-reduce 是我所期待的。这项工作,当我从我创建的用于测试代码和输出的原始 js 文件中运行它时,运行良好。我尝试将 map 和 reduce 代码放在两个字符串中,然后尝试调用 mgo.MapReduce 为我执行 map-reduce,我将输出写入不同的集合中。它给了我

读取 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 将运行的文档总数会有所不同,因此我相信时间会有所不同。所以,我永远无法以我相信的方式解决问题。

我可能还有哪些其他方法?

请帮我

4

1 回答 1

18

将我的评论移至答案。

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

session.SetSocketTimeout(1 * time.Hour)
于 2014-07-09T12:06:55.770 回答