title: Laravel Vapor queue sqs doesn't run jobs synchronously
body: <p>We have an external service which processes a specific task on given data. Because this takes a while per task, and we have ten thousand of tasks we decided to put processing into jobs and a queue otherwise we will get an timeout.
  Processing all the tasks can be take 15 hours.</p>
  <p>So, we decided to split them into chunks and put processing the chunk into a job. So the job will only take about 1 minute.</p>
  <p>Considering that the receiving service has limited resources it is important to process each job after each other without a synchronicity.</p>
  <p>We put these jobs into a specific named queue to divide this jobs from other jobs like email submitting.</p>
  <p>In the local test environment, it works properly with sync, database and sqs.</p>
  <p>Now I will explain the issue with the live environment:</p>
  <p>When I run the jobs in my local test environment with sqs, invoked by php art queue:listen --queue=name of the queue, all jobs will be written in the &quot;message available&quot; column and one by one will be removed from &quot;message available&quot; column and added to the &quot;message in flight&quot; column.
  The &quot;message in flight&quot; column has never more than one message.</p>
  <p>After deploying everything to production the following happens:
  The command to add the jobs to the queue will invoked by a scheduler, instead of invoking in console on my local environment.
  Then all jobs will be added to &quot;message available&quot; column and immediately dozens of jobs will be moved to &quot;messages in flight&quot;. That means all jobs from &quot;message available&quot; will be moved to &quot;messages in flight&quot;. So that it seems that the jobs won't be processed step by step instead of a kind of brute force.</p>
  <p>The other thing is that only 5 jobs will be executed. After that nothing happens, the receiving service gets no requests, the failed_jobs table is empty, and the jobs still remains in &quot;messages in flight&quot;.</p>
  <p>I have no idea what I do wrong!</p>
  <p>Is there another way to process thousands of jobs?</p>
  <p>I've set the &quot;queue-concurrency&quot; to 1 and all queues are listed below the &quot;queues&quot; section in vapor.yml.
  Furthermore, I've set timeout for cli, general and queue to 900 (seconds).</p>
  <p>After checking the sqs log file in cloud watch I see that the job has been executed about 4 times.</p>
  <p>The time between first job and last job in the log file is about 6 minutes max.</p>
  <p>Does anybody has any ideas?</p>
  <p>Thank you in advance.</p>
  <p>Best
  Michael</p>