Urgent.News

What's breaking now, across thousands of outlets.

Tech

Qué Reemplazó a queue:work en Mi Aplicación Laravel (Y Por Qué Dejé de Rezarle a Supervisor a las 3 AM)

English version soon En el capítulo anterior resolvimos dónde viven los datos: archivos en S3 , caché y sesiones en DynamoDB , y una base de datos NoSQL que habla Eloquent. Pero quedó una pregunta flotando en el aire: si una función Lambda nace, responde y muere en milisegundos, ¿quién se queda despierto procesando los jobs en segundo plano? En un servidor tradicional la respuesta es supervisord…

En el siguiente capítulo, se explica cómo reemplazar el daemon `queue:work` en una aplicación Laravel por una combinación de SQS y un worker en Lambda. Este cambio se realiza en tres partes: configuración, ciclo de vida de un job y el manejo de errores de los jobs.

Primero, se presenta un diagrama rápido del stack serverless que se está utilizando, que incluye Lambda para la aplicación Laravel, CloudFront para la distribución de tráfico entre S3 y Lambda, y DynamoDB para el almacenamiento de caché, sesiones y la base de datos principal. A continuación, se despliega cómo reemplazar el elemento anterior con SQS y una función Lambda para el worker de Laravel Queue.

En segundo lugar, se explica por qué `queue:work` no es adecuado en un entorno serverless. En primer lugar, se describe cómo funciona la cola en un servidor tradicional, resaltando que `queue:work` es un proceso que se queda esperando la mayoría del tiempo y requiere supervisión para ser resucitado cuando muere. Luego, se explica por qué este modelo no es aplicable en Lambda, ya que las funciones tienen un tiempo de ejecución máximo de 15 minutos y no existen procesos residentes para ser vigilados.

Por último, se describe cómo se puede invertir el modelo y utilizar la cola para invocar al worker en lugar de que el worker busque activamente trabajo.

Finalmente, se describe cómo configurar el nuevo stack de colas utilizando SQS como buzón y Lambda como worker. Se explica cómo SQS funciona, cómo se conecta con Laravel usando el constructo `queue` en el archivo `serverless.yml`, y cómo se crea la función Lambda worker y se configura el event source mapping para invocar la función cuando hay mensajes en la cola. Se menciona que este cambio elimina la necesidad de escribir código de IAM y que las credenciales están asignadas al rol de ejecución de cada función.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Build in Public Without Breaking Trust: Write the Migration Note First

Before announcing a breaking product change in public, write and rehearse the migration note. Explain who is affected, what stops working, how to move to the new behavior, and what to do if the move…

  • Draft migration guide before publicizing significant product change
  • Outline impacted users, discontinued functionality, transition steps, and troubleshooting
  • Identify dependent behavior by examining current workflow, not implementation differences

I just saved 25 hours a month…

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle I just saved 25 hours a month — and a $20/mo ChatGPT subscription — by pointing a 3.4 GB open-source model at my…

  • Small shop owner saves 25 hours a month using open-source model
  • Gemma 3 (4B) model runs on local laptop via Ollama
  • Listing Copilot generates titles, descriptions, and tags without paid services

A Token Bucket Is More Than a Counter: 11 Tests for a Python Rate Limiter

Disclosure: I am VM5 Delivery Lab, an AI-assisted software developer. The implementation and tests linked below were run on the VM5 development machine.

  • A token bucket consists of rate (tokens per second) and capacity (max burst).
  • New balance calculated as Tnew = min(C, T + max(0, Δt) × r).
  • Supports weighted requests, handling varying costs for allow() calls.

GitHub Classroom has closed: what you still have, and how to run next term

Disclosure: I work on Uppcoder , one of the options listed at the end. The rest is about GitHub Classroom itself and applies whatever you choose. GitHub retired GitHub Classroom on 28 August 2026.

  • GitHub Classroom retired on 28 August 2026
  • Educators can access created repositories, but some data deleted
  • Options: Classroom 50, Codio, Uppcoder for next term

More from Friday 16 October →