1

我正在使用 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”的进程不同。有任何想法吗?

4

1 回答 1

1

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

Delayed::Job.enqueue CustomJob.new(current_tenant)
于 2013-01-18T02:07:27.773 回答