I store my jobs on my central database, because the queue work doesnt seem to be able to read jobs from another database
$post = \Modules\Marketing\Entities\Post::latest('created_at')->first();
changeToCuboUp(); //central db
$job = (new \App\Jobs\SendDelayedPostToInstagram($post))
->delay(\Carbon\Carbon::now()->addMinutes(1));
dispatch($job);
and before i run the job i change to the tenant database
$this->app->extend('queue', function ($queue) {
// Resolve any tenant related meta data on job and allow resolving of tenant.
$queue->before(function ($jobProcessing) {
\Log::error("before");
changeDBByDomain('client1.cuboup.test');
\Log::error(\DB::getDatabaseName());
\DB::reconnect();
});
return $queue;
});
it does seems to run but then the job fails and gives me this exception
[2022-09-19 10:05:30] local.ERROR: Call to a member function beginTransaction() on null {"exception":"[object] (Error(code: 0): Call to a member function beginTransaction() on null at C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Concerns\\ManagesTransactions.php:175)
[stacktrace]
#0 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Concerns\\ManagesTransactions.php(141): Illuminate\\Database\\Connection->handleBeginTransactionException(Object(Error))
#1 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Concerns\\ManagesTransactions.php(115): Illuminate\\Database\\Connection->createTransaction()
#2 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Concerns\\ManagesTransactions.php(23): Illuminate\\Database\\Connection->beginTransaction()
#3 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\DatabaseQueue.php(347): Illuminate\\Database\\Connection->transaction(Object(Closure))
#4 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Jobs\\DatabaseJob.php(66): Illuminate\\Queue\\DatabaseQueue->deleteReserved('default', 42)
#5 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\CallQueuedHandler.php(82): Illuminate\\Queue\\Jobs\\DatabaseJob->delete()
#6 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Jobs\\Job.php(98): Illuminate\\Queue\\CallQueuedHandler->call(Object(Illuminate\\Queue\\Jobs\\DatabaseJob), Array)
#7 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Worker.php(428): Illuminate\\Queue\\Jobs\\Job->fire()
#8 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Worker.php(378): Illuminate\\Queue\\Worker->process('database', Object(Illuminate\\Queue\\Jobs\\DatabaseJob), Object(Illuminate\\Queue\\WorkerOptions))
#9 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Worker.php(329): Illuminate\\Queue\\Worker->runJob(Object(Illuminate\\Queue\\Jobs\\DatabaseJob), 'database', Object(Illuminate\\Queue\\WorkerOptions))
#10 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Console\\WorkCommand.php(117): Illuminate\\Queue\\Worker->runNextJob('database', 'default', Object(Illuminate\\Queue\\WorkerOptions))
#11 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Console\\WorkCommand.php(101): Illuminate\\Queue\\Console\\WorkCommand->runWorker('database', 'default')
#12 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php(36): Illuminate\\Queue\\Console\\WorkCommand->handle()
#13 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#14 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#15 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#16 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Container\\Container.php(653): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#17 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php(136): Illuminate\\Container\\Container->call(Array)
#18 C:\\laragon\\www\\cuboup\\vendor\\symfony\\console\\Command\\Command.php(298): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#19 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Command.php(121): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#20 C:\\laragon\\www\\cuboup\\vendor\\symfony\\console\\Application.php(1028): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#21 C:\\laragon\\www\\cuboup\\vendor\\symfony\\console\\Application.php(299): Symfony\\Component\\Console\\Application->doRunCommand(Object(Illuminate\\Queue\\Console\\WorkCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#22 C:\\laragon\\www\\cuboup\\vendor\\symfony\\console\\Application.php(171): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#23 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Console\\Application.php(94): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#24 C:\\laragon\\www\\cuboup\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Console\\Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#25 C:\\laragon\\www\\cuboup\\artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#26 {main}
"}
any help would be appreacited