他のレーキタスクの後に実行する必要がある一連のデータベース管理タスクがあります。だから私はRuby Mongo driver sourceといくつかのブログの記事を読んで、私はこのコードで終わった:私は、いくつかの機能と1最終1持って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);
は、[OK]を、ので、それがすべてです私がコマンドラインから直接実行するとうまく動作します。まあ、それはそうです。しかし、私は結果の価値を取ってそれを私のログに蓄積したいと思います。私はその値をデータベースに保存し、それを引き出すことができました。より良い方法があるように見えます。私はそれを私のログに入れます:
DEBUG 2012-01-03 22:27:03 -0800 (21392) {"retval"=>nil, "ok"=>1.0}
それはそれほど爆破しなかったこと以外は私には分かりません。だから、私はupdate_stats
の戻り値を取得し、それを私のRubyコードに記録する方法はありますか?
update_stats.jsの外観はどうですか? – Nat
@Natその約130行は一連のレコードを繰り返し、いくつかの計算をしてレコードを更新します。それは私の仕事に含めるには大きすぎます。あなたが探しているものは何ですか? – jcollum