В процессе сбора данных наши сборщики будут работать сутками и нам надо следить за их работоспособностью. Например упал сервер, изменились условия сбора или просто отключили свет. Чтобы постоянно не следить за работой нужен механизм извещения о процессе работе сборщиков данных. Для этого идеально подходит отправка писем на заданный электронный адрес, например раз в сутки.
В PHP есть встроенная функция отправки писем mail , однако для наших целей этой функции недостаточно, потому что чтобы ей воспользоваться нужно лезть в пхп настройки что не очень удобно для простоты переносимости сборщиков с машины на машину. Тем более я планирую изменить код так, чтобы одновременно работало много сборщиков на разных машинах. В интернете много готового кода отправки почты на PHP. Немного погуглив и посмотрев реализации, я остановился на php_libmail (Универсальный PHP класс для отправки почты), скачать и ознакомится с описанием которого можно здесь.
По сути это довольно простой и удобный класс, выполняющий те функции, которые нам нужны. Подключив его, слегка изменим наш класс CLogEvent, создав возможность отправки писем. Отправка теперь осуществляется через $log->event_mail($subject,$event); , где $subject — тема письма, а $event — произошедшее событие, а для указания сервера с которого будет происходить отправка я использовал mail.rambler.ru, хотя можно было указать любой smtp сервер.
Теперь о том как его применять : для этого создадим скрипт сбора и отправки статистики , который запустим после запуска потоков сборщиков. Он будет раз в сутки опрашивать статистику сбора и отправлять нам ее на почту. Таким образом мы не прилагая больших усилий будем получать статистику работы сборщиков на свой электронный ящик.
Материалы :
Как всегда весь исходный код по этой статье можно скачать здесь. Руководство «Как запустить этот и другие PHP скрипты с этого сайта» всегда можно найти здесь. Где взять платные и бесплатные прокси сервера, можно найти здесь. А где взять поисковые запросы и ключевые слова можно найти здесь. Пожелания и предложения по коду и сотрудничеству можно присылать на почту или в комментарии.
последние комменты