Hola,
según una cosa que me comentaron es que una buena manera es ejecutar dicho algoritmo o cron para determinado usuario en el momento que se le agrega una notificación.
Sí, es una opción adecuada cuando el lapso entre agregado de notificaciones de los usuarios es un período largo (la definición de 'largo' es algo a valorar por uno mismo según su sistema y la potencia del equipo, etc...). Por ejemplo en un foro, los mensajes privados, habrá usuarios que cada día redacten 4 o 5 mensajes privados, pero la gran mayoría quizás solo redacte 1 a la semana.
Si el lapso entre añadidos es muy corto, no es eficiente.
Imagina un usuario que tiene 10 notificaciones, lo has limitado a 50, y recibe 1 notificación cada 10 minutos... si está con 10 notificaciones, hasta que llegue a 50, estarás ejecutando el algoritmo 40 veces solo para ese usuario (multiplícalo por el número de usuarios). Acaso no ves más 'saludable' y eficiente tratar solo aquellos que superen cierto umbral (>45 por ejemplo).
Opcionalmente en vez de ser programado a ejecutarse automaticamente cada x tiempo, podrías derivarlo a que tras cada añadido, verifique lo que comentaba en el mensaje anterior (si hay usuarios que han alcanzado el límite). Decidirse por uno u otro es algo a decidir en función d ela frecuencia de añadidos y lo que tarde es tratar el número de usuarios que sobrepasen el umbral.
En cualquier caso ese tratamiento conviene que sea asíncrono respecto del añadido de notificaciones, para que una cosa interfiera lo menos posible con la otra.
Dejo esto acá para cualquier "reseña" sobre esta solución que me comentaron.
????
Hay varias formas de implementarlo, pero si tienes dudas (para avanzar y no quedarte parado), toma la solución que más te convenza y cuando al tiempo observes los problemas que acarrea, pués repasas el tema y ves de implementar una solución que ataje esos problemas.
La que te propuse en el mensaje anterior es la más óptima, aunque requiere un poquito (no mucho más) de trabajo para implementarlo.
La solución que revisa cuando un usuario añade-recibe una notificación es sobretodo muy cómoda de implementar e incluso su eficiencia podría ser suficiente en sistemas donde el tiempo entre añadidos (como ya he comentado), es más o menos dilatado. Es decir si el sistema no está muy concurrido podría bastarte.