Heroku控制台命令错误

时间:2011-10-20 19:00:07

标签: ruby-on-rails heroku resque

我不愿意这样问,但我无法弄明白。当我在heroku console中运行以下命令时,出现语法错误。为什么呢?

QUEUE='*' rake jobs:work

错误:

SyntaxError: compile error
/home/heroku_rack/lib/console.rb:150: syntax error, unexpected tIDENTIFIER, expecting $end
QUEUE='*' rake jobs:work
          ^
/home/heroku_rack/lib/console.rb:150
/home/heroku_rack/lib/console.rb:150:in `call'
/home/heroku_rack/lib/console.rb:28:in `call'
/usr/ruby1.8.7/lib/ruby/1.8/monitor.rb:242:in `synchronize'

我的resque.rake文件包含别名task "jobs:work" => "resque:work",命令是从控制台的历史记录中逐字复制的,所以我知道它已经运行过。

2 个答案:

答案 0 :(得分:1)

Heroku控制台是一个Rails控制台,它不是一个bash shell。

您正在尝试执行QUEUE='*' rake jobs:work,就好像它是一个有效的Ruby命令,当然它不是。

你是否正在尝试to do this?(向下滚动到“运行任何东西”,它会谈到Resque)。

答案 1 :(得分:0)

如果您使用的只是Cedar堆栈,那么您只能在Heroku上使用DelayedJob。

http://devcenter.heroku.com/articles/delayed-job

http://devcenter.heroku.com/articles/queueing#background_jobs_on_herokubamboo