我正在通过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)