>我从数据库(MongoDB)获取信息,然后将其转换为这样的数组:
@bs = coll.find("headers.from" => { "$regex" => email, "$options" => 'i' }, "date" => {"$gte" => initial_date, "$lte" => Time.now.utc})
puts "a seguir ao fetch"
puts @bs
@bs = @bs.to_a
这效果很好,但有时,它只是进入一个无限循环(我相信),因为它使我的 heroku 应用程序崩溃。
响应(第一行是@bs的打印):
2011-05-14T17:05:46+00:00 app[web.1]: DBResponse(flags=, cursor_id=, start=)
2011-05-14T17:06:16+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:06:47+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:07:10+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:07:17+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-14T17:07:51+00:00 heroku[router]: Error H12 (Request timeout) -> GET yapi.heroku.com/api/v1/69399ead0ed4ded38e7a101f7c8faf/2011-2-1.json dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
我想知道为什么,因为我真的找不到所有调试信息的原因。IT 只是永远保持".to_a",服务器被阻止。
请帮忙。
谢谢
据我所知,RoR 没有理由终止此循环。
如果可以,请尝试将其初始化为内核#数组。试试这个:
Array([1,2,3]) #=> [1, 2, 3]
Array(123) #=> [123]
而不是:
arg = arg.to_a