Adquiere este curso para tener acceso a todas las lecciones
Comprar curso167. 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 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 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 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 hace 1 año
Hola Victor. En capítulos anteriores hablabas de dejarnos un repositorio del curso. Puedes indicarnos dónde está. Gracias