我有一套數據庫管理任務需要在其他一些rake任務之後運行。所以,我讀了Ruby Mongo driver source和一些博客文章和我結束了這段代碼:如何從我發送給Mongo的腳本中返回值?
scr = open("./scripts/update_stats.js", &:read)
db = Mongoid::Config::master
result = db.command({:$eval => scr})
logger.debug result
logger.warn "Finished updating stats"
在腳本我有幾個功能,並在最後一個一個:
r = update_stats();
print("update result:");
print (r);
好了,所以它的所有當我通過命令行直接運行時運行良好。好吧,它似乎是。但我想把結果值存入我的日誌中。我可以將該值存儲到數據庫中,然後將其拔出。似乎應該有更好的方法。我做得到它我的日誌是:
DEBUG 2012-01-03 22:27:03 -0800 (21392) {"retval"=>nil, "ok"=>1.0}
並沒有告訴我不是,它沒有炸燬多等。那麼,我怎樣才能得到update_stats
的返回值並將其記錄在我的Ruby代碼中?
你的update_stats.js怎麼樣? – Nat 2012-01-04 07:32:59
@覆蓋約130行迭代一組記錄,進行一些計算然後更新記錄;包含在我的OP中有點太大了。你正在尋找什麼具體的東西? – jcollum 2012-01-04 15:10:33