Estoy enviando notificaciones automáticas desde mi servidor y quiero que simplemente se ejecuten en un proceso en segundo plano. He leído los documentos de Laravel y también sé sobre el controlador de la base de datos y algunas otras opciones. Lo tengo funcionando con el controlador de la base de datos en mi máquina local, pero una cosa me molesta porque tengo que iniciar un subproceso en segundo plano para escuchar los trabajos que se agregan a la cola usando php artisan queue:listen --deamon .
El punto es que siempre consume algunos de mis recursos y memoria al ejecutarse como una tarea 'antigua'. Solo quiero crear un nuevo proceso cuando active la notificación push y debería comenzar a ejecutarse tan pronto como se agregue y luego ese proceso debería cerrarse. Mientras que, por otro lado, con los trabajos de laravel siempre tengo que ejecutar un proceso en segundo plano que quiero evitar y también estoy usando un alojamiento compartido que no me permite instalar un "supervisor" en mi servidor para monitorear la ejecución de mis trabajos.
¿Alguien puede aclarar esta ambigüedad? ¿Cuál será la mejor manera de manejar este escenario?
Después de investigar un poco, decidí optar por el controlador de la database de datos. También hay otras excelentes opciones, pero la elección dependerá de la carga de trabajo de su sistema.
El punto es que el controlador de sync usa el hilo principal para la ejecución de tareas, lo cual es útil solo cuando está en desarrollo. Si tiene un sistema de producción, es posible que deba considerar alguna otra opción para ejecutar su cola. La idea principal de poner en cola tareas de ejecución prolongada es poder ejecutarlas en algún proceso en segundo plano para que el subproceso principal de su aplicación no se bloquee y pueda atender las solicitudes de sus clientes más rápidamente.
Para obtener más información sobre diferentes controladores y ayuda, visite la documentación de Laravel.
La sincronización de la cola se ejecuta en el mismo subproceso con la solicitud http o el subproceso ahora. Deamon no se ejecuta, usaré la cola de sincronización en la prueba local, yo uso dd(), mostraré todos los datos en la pantalla