【发布时间】:2016-04-03 05:49:22
【问题描述】:
你们能否指导我如何允许 rake jobs:work 在开发和生产环境中为多个模式工作。提前致谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 postgresql schema delayed-job
你们能否指导我如何允许 rake jobs:work 在开发和生产环境中为多个模式工作。提前致谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 postgresql schema delayed-job
您可以在 Job 类中设置您的 schema。
假设你有 CustomJob 类。在此处设置您的schema
class CustomJob
attr_accessor :object, :method_name, :args, :schema
def initialize object, method_name, args
@object = object
@method_name = method_name
@args = args
@schema = ActiveRecord::Base.connection.schema_search_path
end
def perform
object.send(method_name, *args) if object
end
def before(job)
ActiveRecord::Base.connection.schema_search_path = schema
end
def after(job)
ActiveRecord::Base.connection.schema_search_path = 'public'
end
def max_attempts
return 2
end
end
initializeDelayed::Job上面的Job
Delayed::Job.enqueue(CustomJob.new(object, method, args), queue: <queue>)
我希望这会有所帮助。
【讨论】: