Pass request specific context to Sidekiq
In a multi-tenant rails application, usually we extract the tenant, before we process it further. Sometimes, the process requires us to process the data in background (via Sidekiq) and because the background job also needs to query the DB, it also needs to set tenant. Turns out, we can pass “some” data from the controller to the sidekiq job via ActiveSupport::CurrentAttributes While, sidekiq may need to set the tenant again (for more DB queries) but one can save at least one query (to find out the account itself)
Continue Reading »