В настоящее время я работаю над приложением PHP/MySQl. Ошибка 500 возникает, если есть ошибка, когда приложение не может восстановить и не может продолжить выполнение:Отправка сообщения по электронной почте 500 без спама
- Не удалось подключиться к базе данных.
- Запуск из дискового пространства
- т.д.
Я хотел бы получать по электронной почте/smsed при возникновении такой ошибки. Проблема в том, что я не хочу, чтобы меня отправляли по электронной почте каждый раз, когда срабатывает ошибка 500. Если сайт очень занят, то за короткий промежуток времени можно легко получить сотни писем или SMS-сообщений.
Я думал о отправке электронной почты при первой ошибке, а затем установил флаг, который предотвращает отправку электронной почты в течение следующих 20 минут. Однако это приводит к другой проблеме. Если флаг хранится в базе данных или в файле в файловой системе, то невозможность подключения к базе данных или нехватки дискового пространства сделает флаг бесполезным.
Существует также вероятность того, что SMTP-сервер для отправки электронной почты может опуститься, но в этом случае я не думаю, что что-то действительно может быть сделано, и потребуется внешняя служба мониторинга.
Есть ли лучшие способы сделать это?
И нет причин, по которым вы не можете сохранить этот файл на другом сервере (чтобы решить проблему с дисковым пространством), а затем использовать простой скрипт, который вы бы назвали, а затем проверить его ответ ... 1 = отправить письмо, 0 = не отправлять электронную почту. – NightHawk
@ Райан, я в замешательстве. Пока файл состояния существует до того, как пространство заполняется, это не должно быть проблемой. – benesch
Да, ваше абсолютно правильно, это просто еще один вариант. – NightHawk