POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Notificaciones de Filament a una cola específica

Notificaciones de Filament a una cola específica

Publicado el 05/09/2025

Cuando trabajas con Filament Notifications, enviar notificaciones a base de datos con sendToDatabase es comodísimo. Pero, qué pasa si necesitas controlar a qué cola se despachan esas notificaciones en Laravel

A primera vista parece complicado porque Filament no expone una opción de cola directamente. La buena noticia es que puedes aprovechar todo el sistema de colas de Laravel sin renunciar a la API fluida de Filament.

Comportamiento por defecto al enviar a base de datos con Filament

El flujo típico suele ser así: Notification::make() ->title(Tu solicitud ha sido procesada) ->body(Detalles de la solicitud) ->sendToDatabase(usuario);

Qué ocurre por debajo

Filament llama a usuario->notify(this->toDatabase()). El método toDatabase crea una instancia de Filament Notifications DatabaseNotification, que extiende la notificación de Laravel, implementa ShouldQueue y usa el rasgo Queueable. Eso significa que la notificación se encola usando la conexión definida en la variable de entorno QUEUE_CONNECTION como database, redis u otra, pero no puedes indicar el nombre de la cola con sendToDatabase.

Cómo controlar la cola con toDatabase y onQueue

En vez de sendToDatabase, obtén la notificación con toDatabase y aplica onQueue. Ejemplo paso a paso: notiBD = Filament Notifications Notification::make() ->title(Tu solicitud ha sido procesada) ->body(Detalles de la solicitud) ->toDatabase() ->onQueue(notifications); usuario->notify(notiBD);

También en una sola línea: usuario->notify( Filament Notifications Notification::make() ->title(Tu solicitud ha sido procesada) ->body(Detalles de la solicitud) ->toDatabase() ->onQueue(notifications) );

Si además quieres cambiar la conexión de cola, añade onConnection por ejemplo onConnection(redis). De esta forma mantienes la simplicidad de Filament y, a la vez, controlas con precisión la cola y la conexión.

Ejemplo para varios usuarios

Si necesitas notificar a muchos usuarios por la misma cola: notif = Filament Notifications Notification::make() ->title(Tu solicitud ha sido procesada) ->body(Detalles de la solicitud) ->toDatabase() ->onQueue(notifications); foreach usuarios as user { user->notify(notif); }

Buenas prácticas de colas en Laravel

Usa nombres de cola claros como high, default, low o notifications para priorizar. Configura tus workers para escuchar la cola adecuada con queue work o supervisor, por ejemplo php artisan queue work --queue=notifications. Si tu carga es alta, separa conexiones y colas por tipo de tarea, como redis de alta prioridad para notificaciones en tiempo casi real.

Conclusión

Si solo quieres enviar notificaciones a base de datos, sendToDatabase es perfecto. Si necesitas control de cola, cambia a toDatabase -> onQueue y, si hace falta, onConnection. Así te mantienes en el ecosistema de Filament para que las notificaciones se guarden y muestren correctamente en tus paneles, mientras aprovechas la flexibilidad de colas de Laravel.

Cómo puede ayudarte Q2BSTUDIO

En Q2BSTUDIO diseñamos y desarrollamos aplicaciones a medida y software a medida con enfoque en calidad, rendimiento y seguridad. Optimizamos colas, jobs y arquitectura en Laravel, Symfony y Node, y alineamos la solución con tus objetivos de negocio. Si estás valorando elevar tu plataforma con servicios escalables, te invitamos a descubrir cómo integramos pipelines CI CD, observabilidad y patrones de mensajería moderna mientras construimos experiencias robustas. Conoce más sobre nuestro enfoque en desarrollo de software y aplicaciones a medida.

Además, somos especialistas en inteligencia artificial e ia para empresas, creando agentes IA, asistentes para soporte, y analítica avanzada. Combinamos ciberseguridad, servicios cloud aws y azure, y servicios inteligencia de negocio con power bi para ofrecer soluciones completas, desde el backend hasta el tablero de decisiones. Si quieres incorporar modelos de IA generativa, RAG o automatización de procesos, visita nuestra página de inteligencia artificial para empresas.

Palabras clave recomendadas para tu estrategia SEO

aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, pentesting, servicios cloud aws y azure, servicios inteligencia de negocio, power bi, automatización de procesos

Resumen técnico rápido

sendToDatabase es directo, pero no permite indicar nombre de cola. toDatabase devuelve una notificación de Laravel que implementa ShouldQueue y usa Queueable, por lo que puedes aplicar onQueue para fijar la cola y onConnection para la conexión. Envía la notificación con notify del usuario. Para múltiples usuarios, puedes reutilizar la misma instancia o crear una por usuario si necesitas datos distintos. Mantén tus workers escuchando la cola adecuada y monitoriza con herramientas de observabilidad para asegurar tiempos de entrega consistentes.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio