title: How to run only one job at time in same laravel queue?
body: <p>I have saas service which working with API. It has limits so I need that one user account doing only one request at the same time.</p>
  
  <p>For this I queuing with <code>OnQueue($user-&gt;name);</code></p>
  
  <p>then in <code>handle()</code> doing job...</p>
  
  <p>I need only one job can be run in users queue. At the same time may be run only diffent queues 1 job per 1 queue.</p>
  
  <p>Im using redis connection.</p>
  
  <p>This my job class:</p>
  
  <pre><code> public function __construct(Accounts $acc)
      {
          $this-&gt;acc = $acc;
          $this-&gt;ownjob = $acc-&gt;prepareJobQueue();
      }
  
      public function handle()
      {
          $acc = $this-&gt;acc;
          $job = $this-&gt;ownjob;
  
          $api = new Api([
              'login'     =&gt; $acc-&gt;login,
              'password'  =&gt; $acc-&gt;password,
          ]);
          if ($api-&gt;checkLogin()) {
              info("{$acc-&gt;login} OK Authorized");
              foreach ($job['queue'] as $term) {
                  switch($term['type']) {
                      case 'hashtag':
                          info("{$acc-&gt;login} Queuing: type - {$term['type']}, value - {$term['value']}");
                          $hashtag = Hashtags::where('cha_name',$term['value'])-&gt;first();
                          $answer = $api-&gt;getUsersByHashtag($hashtag,50);
                          break;
                      case 'concurency':
                          info("{$acc-&gt;login} Queuing: type - {$term['type']}, value - {$term['value']}");
                          $soc_user = Users::where('soc_unique_id',$term['value'])-&gt;first();
                          $answer = $api-&gt;getUserFollowers($soc_user);
                          break;
                      default:
                          break;
                  }
              }
          } else {
              info("{$acc-&gt;login} NOT Authorized - STOP JOB");
          }
  
      }
  </code></pre>
  
  <p>This is how I dispatching job:</p>
  
  <pre><code>$accounts = Accounts::select(['id', 'login', 'hashtag_filter', 'concurency_filter'])-&gt;whereNotNull('hashtag_filter')-&gt;get();
          foreach ($accounts as $acc) {
              doFollowing::dispatch($acc)-&gt;onQueue($acc-&gt;login);
          }
  </code></pre>