Postgresql架构和Delayed :: Job

时间:2012-11-27 07:34:24

标签: ruby-on-rails postgresql delayed-job multi-tenant

我正在使用Postgresql架构设置多租户Rails应用程序。

如何确定Delayed :: Job的数据库搜索路径范围?

这样可行:

initializers/dj_config.rb:

Delayed::Job.class_eval do
 connection.schema_search_path = ["#{current_tenant}", "public"].join(",")
end

...但是我需要一种传递当前租户的方法,这似乎很难,因为DJ工作人员与设置“current_tenant”的工作人员不同。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,最终创建了使用perform方法设置current_tenant的自定义作业类。我只是将current_tenant传递给构造函数:

Delayed::Job.enqueue CustomJob.new(current_tenant)