Jobs & Queues

Jobs are automatically multi-tenant, which means that if a job is dispatched while tenant A is initialized, the job will operate with tenant A's database, cache, filesystem, and Redis.

However, if you're using the database or redis queue driver, you have to make a small tweak to your queue configuration.

Open config/queue.php and make sure your queue driver has an explicitly set connection. Otherwise it would use the default one, which would cause issues, since database.default is changed by the package and Redis connections are prefixed.

If you're using database, add a new line to queue.connections.database and queue.failed:

'connection' => 'mysql',

where 'mysql' is the name of your non-tenant database connection with a jobs table.

Also make sure you run the queue migrations for the central database, not your tenants.

If you're using Redis, make sure its 'connection' is not in tenancy.redis.prefixed_connections.