【发布时间】:2016-04-14 23:50:22
【问题描述】:
我在我的 Rails 应用程序中使用 ActiveJob 并尝试添加一些应该由我的所有工作共享的通用功能(确切地说是异常处理)。
一个例子是 -
class MyAbstractJob < ActiveJob::Base
rescue_from StandardError do |exception|
# do exception handling stuff ...
end
end
class FooJob < MyAbstractJob
queue_as :my_queue
def perform *args
# do job stuff ...
end
end
这种模式类似于将ApplicationController 用于控制器,它继承自ActionController::Base,并提供了实现任何控制器子类上可用的共享设施的地方。
这实际上似乎在大多数情况下都有效,除非我尝试调用 queue_as :my_queue - 在这种情况下我最终会看到 -
NoMethodError: undefined method 'queue_as' for #<Class:0x007f088905c970>
我在 Rails 文档中没有看到对这种特定模式的引用。有谁知道这方面的好方法吗?
【问题讨论】:
标签: ruby-on-rails ruby rails-activejob