У меня есть набор задач администрирования базы данных, которые нужно запускать после некоторых других граблей. Поэтому я прочитал исходный код драйвера Ruby 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?