我不愿意这样问,但我无法弄明白。当我在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"
,命令是从控制台的历史记录中逐字复制的,所以我知道它已经运行过。
答案 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