Colas (queue)
Comprar curso

167. Colas (queue)

Descubre qué son las colas en Laravel y cómo utilizarlas para gestionar tareas en segundo plano, mejorar la experiencia del usuario y optimizar el rendimiento de tu aplicación.


4 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    Las colas en Laravel son una herramienta poderosa para gestionar tareas en segundo plano. En lugar de procesar tareas de forma síncrona, lo que puede ralentizar la aplicación y hacer que los usuarios esperen, las colas permiten que las tareas se procesen en segundo plano de forma asíncrona, lo que mejora la experiencia del usuario y optimiza el rendimiento de la aplicación.

    Para empezar a utilizar las colas en Laravel, debes configurar el controlador de cola. Laravel admite una variedad de controladores de cola, incluidos los controladores de bases de datos, Redis, Amazon SQS y Beanstalkd. Para configurar el controlador de cola, debes modificar el archivo .env y el archivo config/queue.php. Por ejemplo, si deseas utilizar Redis como controlador de cola, puedes agregar estas líneas al archivo .env:

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

    Luego, debes modificar el archivo config/queue.php para especificar cómo deben manejarse las colas. Por ejemplo, si deseas procesar las tareas en orden, puedes especificarlo así:

    'redis' => [
       'driver' => 'redis',
       'connection' => 'default',
       'queue' => 'default',
       'retry_after' => 90,
       'block_for' => null,
       'after_commit' => false,
    ],

    Una vez configurado el controlador de cola, puedes comenzar a agregar trabajos a la cola utilizando la sintaxis de Laravel. Por ejemplo, si deseas redimensionar una imagen, puedes agregar el trabajo a la cola utilizando el método dispatch:

    ResizeImage::dispatch($imagePath);

    Este código agrega un trabajo ResizeImage a la cola con la ruta de la imagen como argumento. Puedes agregar tantos trabajos a la cola como desees.

    Para procesar la cola, debes ejecutar el comando php artisan queue:work. Este comando ejecuta un proceso en segundo plano que procesa los trabajos en la cola. Si desea ejecutar múltiples procesos de cola, puede agregar la opción --daemon al comando.

    En resumen, las colas en Laravel son una herramienta poderosa para gestionar tareas en segundo plano y mejorar la experiencia del usuario y el rendimiento de la aplicación. Con la configuración adecuada del controlador de cola y la sintaxis de Laravel para agregar trabajos a la cola, puedes crear tareas personalizadas que se procesen de forma asíncrona y escalable.

  • Juan Carlos Enrique

    Juan Carlos Enrique hace 5 meses

    Modificaciónes con  Intervention image V3 en el job de ResizeImage

     

    public function handle(): void
        {    
            $image_path = Storage::get($this->image_path);
            $image_manager=   ImageManager::gd()->read($image_path);
            $image_manager->scale(width:1200);
            $image_manager->encode(new AutoEncoder(quality: 10));
            $img = $image_manager->toJpeg()->toFilePointer();
            Storage::put($this->image_path, $img);
        }
  • Hernan Arica

    Hernan Arica hace 1 año

    Buena clase, pero ubiera estado mejor ver ejemplos un poco mas pesados, que realmente lo necesiten, o tambien ver el tema de. como asignar nombre. a las colas y poder ejecutar las de default u otro nombre por separado, ya que no todos los jobs son de lo mismo…

  • Pedro

    Pedro hace 1 año

    Hola Victor. En capítulos anteriores hablabas de dejarnos un repositorio del curso. Puedes indicarnos dónde está. Gracias