Tengo un programa que realiza cientos de solicitudes CURL diarias, solicitudes SMTP y otras solicitudes. Menos del 1 por ciento de las veces, una solicitud CURL o SMTP fallará. Lo mejor que puedo decir es que la causa del problema es externa y no se puede arreglar para que sea 100% confiable. Mi programa siempre puede recuperarse de él y nunca se necesita interacción humana. Tengo un sistema para enviar una alerta por correo electrónico cuando algo falla. La gran mayoría de lo que recibo son estos fallos inofensivos de CURL y SMTP.
¿No debería enviar una alerta por correo electrónico por fallas comunes de las que se recupera el programa?
design
error-handling
ganso
fuente
fuente
Respuestas:
Depende de su aplicación.
Los correos electrónicos pueden ser útiles para una estadística, pero si no, evitaría este correo no deseado.
Lo que hago en casos similares: envíe un resumen una vez al día para estar informado sobre el rendimiento de su programa (y que todavía se está ejecutando).
Solo enviaría un correo electrónico, si la tasa de error excede un límite preestablecido que indica que se necesita intervención humana.
fuente
En esta situación, inmediatamente dejaría de enviar los correos electrónicos.
Los correos electrónicos de error deben actuar como una señal de que algo está mal y que se deben tomar medidas. Debido a que obtienes muchos de ellos, actúan como ruido estático y fácilmente perderás un correo electrónico de error realmente importante que llegó por otra razón.
Sin embargo, si recibe como 5 de estos correos electrónicos cada hora y recibir un correo electrónico como cada minuto sería algo anormal, debe crear un mecanismo que envíe algo cuando los errores / hora pasen un cierto umbral. Debido a que el correo electrónico único puede no significar mucho más, la cantidad de ellos en un período determinado (minuto / hora / día) puede significar algo más grande.
fuente
El correo electrónico no es una buena herramienta para realizar un seguimiento de los errores. Busque productos como New Relic o App Insights para registrar todos sus errores (y otra información) para que luego pueda informar o enviar alertas por correo electrónico cuando se cumplan ciertas condiciones (por ejemplo, cuando cambia de 1% de falla a> 10% de falla )
Con correos electrónicos separados para cada error, terminas ignorando los correos electrónicos y es posible que ni siquiera notes el salto del 1% al 10%. Peor aún, su proveedor de correo electrónico puede ver el gran volumen de correos electrónicos casi idénticos de una dirección y marcarlos como spam.
fuente
En este tipo de situaciones, intente hacer un algoritmo para hacer un registro de eventos de error y enviarlo una vez al día. Como dijo Pieter, también ponga una alerta por exceder el número de errores. Esa será una forma sistemática de gestión de aplicaciones y solución de problemas.
fuente