作者godfat (godfat 真常)
看板Ruby
标题Re: [问题] Merb and BackgrounDRb
时间Fri Dec 19 12:53:04 2008
※ 引述《ggegge (Egg)》之铭言:
: (有啦! cron加上merb -i < xxx ?)
:
: 推 godfat:可否说明一下 BackgroundDRb 是要做什麽?render_deferred? 12/18 22
: → ggegge:每天晚上制造静态html这样 12/18 22
: → godfat:那单纯用 cron 不就好了? 12/18 23
: → ggegge:好奇问一下 那如果是每天要做model运算处理? 12/19 08
就 require model 进 memory 就好啦。甚至是整个 app 也行啊。
看一下 merb-gen 产生的 Rakefile, 有个:
desc "Start runner environment"
task :merb_env do
Merb.start_environment(:environment => init_env, :adapter => 'runner')
end
你可以自己写 rake task, 大概就像:
task :generate_static_html => :merb_env do
# ...
end
这样在执行 generate_static_html 之前,会先读取 merb env.
基本上 rails 也有这个功能,我之前 cron 都是这样写的。
如果是只要 model 的话,就 require model 就好了,
例如 Dir['app/models/**/*.rb'].each{ |f| require f[0..-4] }
当然可能要先 require 'dm-core' 等等,如果你是用 datamapper.
AR 的话自然是 require 'active_record' 和其他的。
至於你提到的 merb -i < ... 可能也是可以啦,我是觉得多此一举...
updated:
忘记讲,至於你用的 BackgroundDRb, 我後来稍微翻了一下,
他好像有 job priority queue 的样子?如果是这样的话,
那确实就没办法用单纯用 cron 取代,还需要其他很多东西。
也可以看看 bj, 是 code for people 做的。有没有支援 merb 就不清楚了...
其实我一直想引入 bj, 不过一直没空细看
--
In Lisp, you don't just write your program down toward the language,
you also build the language up toward your program.
《Programming Bottom-Up》- Paul Graham 1993
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18
※ 编辑: godfat 来自: 220.135.28.18 (12/19 12:54)
1F:推 ggegge:thanks a lot! 12/19 13:52