When using Laravel Vapor, it's possible to specify that your application uses multiple queues when configuring your environment. id: 12345 name: my-project environments: production: queue-concurrency: 100 queues: - default - invoices - mail
All of the configured queues utilize the same Lambda function when processing jobs, which is generally since Lambda picks up all of the jobs almost instantly.
In practice, if the queue function processes enough jobs for the default queue that it reaches the concurrency limit, rather than throttling the invocations, the Lambda function will stop reading from the queue until capacity is available.
Vapor makes configuring individual queue concurrency a breeze.