My issue was (is) that I was trying to create a dynamic queue per tenant. Something like this:
ImportJob
.set(queue: "importer_#{tenant_slug}")
.perform_async(id)
It creates the queues in the dashboard, but never processes them. Sidekiq explicitly does not support dynamic queues, and advises against having many queues for performance reasons.
There are third party gems to coax Sidekiq into this behavior that I may investigate.
More info here: How can I create sidekiq queues with variable names at runtime?