Rails 关于 rails 中的异步任务

cdredfox · 2012年04月30日 · 最后由 cdredfox 回复于 2012年04月30日 · 5370 次阅读

rails3 中执行异步任务,一般都选用 Resque 和 Delayed_job.这两个 gem 也确实很强大。 但是他们都需要在终端上执行一些命令来启动任务才行,而不能在程序中自动启动。 这样就会有一个问题,在一些 PAAS 平台上,比如 hrekou,cloudfoundry.org 上,是没有方式在终端上执行命令的,请问这个情况下,有什么好的 gem 做异步的任务吗?

好吧,看到好象 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可以这样用的。 
需要 登录 后方可回复, 如果你还没有账号请 注册新账号