Configuración de colas en Laravel




Configuración de colas en Laravel

Laravel proporciona una interfaz unificada para trabajar con diferentes sistemas de colas. La configuración de las colas se realiza en el archivo config/queue.php y en el archivo .env. Laravel admite varios drivers de colas, como sync, database, redis, beanstalkd, sqs, y más.

Conceptos clave

  • Driver de cola: Especifica el sistema de colas que se utilizará.
  • Conexiones: Define las configuraciones para cada driver de cola.
  • Colas: Permiten agrupar trabajos relacionados.
  • Workers: Procesan los trabajos en las colas.

La configuración adecuada de las colas es crucial para el rendimiento y la escalabilidad de tu aplicación. Laravel facilita la configuración de colas con una sintaxis clara y una amplia gama de opciones.


Ejemplo de configuración de colas para Redis

                // .env

                QUEUE_CONNECTION=redis
                REDIS_HOST=127.0.0.1
                REDIS_PASSWORD=null
                REDIS_PORT=6379

                // config/queue.php

                'default' => env('QUEUE_CONNECTION', 'sync'),

                'connections' => [

                    'redis' => [
                        'driver' => 'redis',
                        'connection' => 'default',
                        'queue' => env('REDIS_QUEUE', 'default'),
                        'retry_after' => 90,
                        'block_for' => null,
                    ],

                    // ...
                ],

                'redis' => [

                    'client' => env('REDIS_CLIENT', 'phpredis'),

                    'options' => [
                        'cluster' => env('REDIS_CLUSTER', 'redis'),
                        'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
                    ],

                    'default' => [
                        'url' => env('REDIS_URL'),
                        'host' => env('REDIS_HOST', '127.0.0.1'),
                        'password' => env('REDIS_PASSWORD'),
                        'port' => env('REDIS_PORT', '6379'),
                        'database' => env('REDIS_DB', '0'),
                    ],

                    // ...
                ],
            



Publicar un comentario

0 Comentarios