title: Laravel-Jobs are only dispatched once on
body: <p>I got a problem with dispatching jobs on Laravel 9.4.1 with PHP 8.1.3. I have written some jobs which have their own queue (import-meta) but run via the database-connection. When I build my app-environment (docker-compose with a db-container and some worker-containers) and I call  MyJob::dispatch(some-stuff) it dispatches the jobs nicely... But only ONCE. Every dispatch-call after the initial one (the one after the build) seems to be ignored, since I'm getting a  Illuminate\Foundation\Bus\PendingDispatch-Object back, but it has job:null and the job does not get stored inside the jobs-Table. The database-connection itself is fine tho (checked by calling and writing to a Model before). Logs are empty, failed_jobs-table aswell and I am out of ideas of what's going on there. But I am not 100% sure if that is a userland-problem or actually a laravel-bug itself...</p>
  <p>Edit: As Luciano pointed out, some code would be helpfull. So here we go:
  This is one of my Jobs (MyAppJobBase just has a constructor and some initialization-stuff like loading some models and such):</p>
  <pre><code>class MyJob extends MyAppJobBase implements ShouldQueue, ShouldBeUnique 
  use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  {
  
  /**
   * The number of times the job may be attempted.
   *
   * @var int
   */
  public $tries = 3;
  
  public function __construct(string $somepayload, int $someID)
  {
      parent::__construct($somepayload, $someID);
      $this-&gt;onQueue('import-meta');
  }
  
  /**
   * Execute the job.
   *
   * @return void
   */
  public function handle()
  {
      try{
  
          // somelogic
  
          $this-&gt;delete(); //muss immer am Ende eines Jobs stehen!
      } catch (\Exception $exception){
          if(env('APP_DEBUG') == true){
              dd($exception);
          } else {
              if($this-&gt;attempts() === 3){
                  $this-&gt;fail($exception);
              }
          }
      }
  }
  
  /**
   * Handle a job failure.
   *
   * @param  \Throwable  $exception
   * @return void
   */
  public function failed(Throwable $exception)
  {
      //some failure-handling
  }
  }
  </code></pre>
  <p>And this his how I call my jobs (there are multiple jobtypes, but all follow the same scheme):</p>
  <pre><code>call_user_func_array($myJobModel-&gt;jobclass.'::dispatch',['somepayload' =&gt; '{}', 'someID' =&gt; 25]);
  </code></pre>
  <p>Like I said, the first run of this works fine, but the second- and all runs afterwards are not getting saved to the jobs-table.</p>