rails3 中执行异步任务,一般都选用 Resque 和 Delayed_job.这两个 gem 也确实很强大。 但是他们都需要在终端上执行一些命令来启动任务才行,而不能在程序中自动启动。 这样就会有一个问题,在一些 PAAS 平台上,比如 hrekou,cloudfoundry.org 上,是没有方式在终端上执行命令的,请问这个情况下,有什么好的 gem 做异步的任务吗?
https://devcenter.heroku.com/articles/delayed-job
好吧,看到好象 heroku 官方支持这个方式,他其实可以 heroku run bundle exec rake jobs:work 这样的命令。 可是我的运行在 cloudfoundry 上。
cloudfoundry,刚看了下,好象他们支持在 config.ru 中写 rake,没用过 config.ru,看看。
config.ru 中怎么运行 script 下的脚本呢?请教了~
heroku 用 postgresql,前阵子 railscast 刚介绍了 queue_class
我现在是这样实现的,我直接在 config.ru 中调用原先 Delayed_job 写在 sciprt 中的脚本
Delayed::Command.new(['stop']).daemonize Delayed::Command.new(['start']).daemonize ''' 测试在cloudfoundry可以这样用的。