I've been trying in several ways, but I can't seem to use Illuminate's queues in a project other than Laravel. I would like to install it as read-only in a legacy project to add more efficient queue functionality. Does anyone know how to use Laravel's queues more easily in another project?
<?php
require __DIR__.'/vendor/autoload.php';
use Illuminate\Queue\Capsule\Manager as Queue;
$queue = new Queue();
$queue->addConnection([
'driver' => 'redis',
'host' => 'localhost',
'queue' => 'default',
]);
// Make this Capsule instance available globally via static methods... (optional)
$queue->setAsGlobal();
// Defina a variável $message com o conteúdo do e-mail
$message = 'Esta é a mensagem do e-mail que será enviado.';
// As an instance...
$queue->push('SendEmail', ['message' => $message]);
// If setAsGlobal has been called...
Queue::push('SendEmail', ['message' => $message]);
PHP Fatal error: Uncaught TypeError: Illuminate\Queue\Connectors\RedisConnector::__construct(): Argument #1 ($redis) must be of type Illuminate\Contracts\Redis\Factory, Redis given, called in /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/QueueServiceProvider.php on line 158 and defined in /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/Connectors/RedisConnector.php:31 Stack trace: #0 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/QueueServiceProvider.php(158): Illuminate\Queue\Connectors\RedisConnector->__construct() #1 [internal function]: Illuminate\Queue\QueueServiceProvider->Illuminate\Queue{closure}() #2 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/QueueManager.php(181): call_user_func() #3 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/QueueManager.php(162): Illuminate\Queue\QueueManager->getConnector() #4 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/QueueManager.php(138): Illuminate\Queue\QueueManager->resolve() #5 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/Capsule/Manager.php(139): Illuminate\Queue\QueueManager->connection() #6 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/Capsule/Manager.php(85): Illuminate\Queue\Capsule\Manager->getConnection() #7 /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/Capsule/Manager.php(99): Illuminate\Queue\Capsule\Manager::connection() #8 /var/www/html/teste/queue-laravel-standalone/worker.php(22): Illuminate\Queue\Capsule\Manager::push() #9 {main} thrown in /var/www/html/teste/queue-laravel-standalone/vendor/illuminate/queue/Connectors/RedisConnector.php on line 31