1

Postgresqlスキーマを使用してマルチテナントRailsアプリケーションをセットアップしています。

Delayed :: Jobのdb検索パスをスコープするにはどうすればよいですか?

これはうまくいくでしょう:

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 に答える