如何解决Heroku + DelayedJob未能通过“ rake jobs:work”和“ heroku worker 1”
我无法在已验证的heroku帐户上排队等待delay_jobs运行。这是细分: 当我在heroku上调用delay_job时# tropo_controller.rb in app/controllers
class TropoController < ApplicationController
require \'lib/event_job\'
...
def sms
Delayed::Job.enqueue(EventJob.new(nil))
然后验证delay_job存在
$ heroku console
>> Delayed::Job.all
[#<Delayed::Backend::ActiveRecord::Job id: 2,priority: 0,attempts: 0,handler: \"--- !ruby/struct:EventJob \\nevent_id: \\n\",last_error: nil,run_at: \"2011-05-30 21:01:24\",locked_at: nil,failed_at: nil,locked_by: nil,created_at: \"2011-05-30 21:01:24\",updated_at: \"2011-05-30 21:01:24\">]
并尝试以这种方式开始新工作
$ heroku rake jobs:work
Starting job worker
(hangs)
或者这样
$ heroku workers 1
/Users/jaimeohm/.rvm/gems/ruby-1.9.2-p0@rails303/gems/heroku-2.2.1/lib/heroku/command.rb:125:in `rescue in run\': undefined local variable or method `args\' for Heroku::Command:Module (NameError)
from /Users/jaimeohm/.rvm/gems/ruby-1.9.2-p0@rails303/gems/heroku-2.2.1/lib/heroku/command.rb:116:in `run\'
from /Users/jaimeohm/.rvm/gems/ruby-1.9.2-p0@rails303/gems/heroku-2.2.1/bin/heroku:14:in `<top (required)>\'
from /Users/jaimeohm/.rvm/gems/ruby-1.9.2-p0@rails303/bin/heroku:19:in `load\'
from /Users/jaimeohm/.rvm/gems/ruby-1.9.2-p0@rails303/bin/heroku:19:in `<main>\'
它失败。我运行“ 4”,重置数据库,然后重新启动服务器,但仍然失败。我故意清空排队作业的执行方法
# event_job.rb in app/lib
class EventJob < Struct.new(:event_id)
def perform
# empty for now
end
end
我想念什么?
解决方法
Heroku现在已经从heroku gem v2.2.2开始修复了该错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。