ТЗ Чекер
Обязательные условия:
- php7
- mysqlnd + mysqli + подготовленные запросы
- curl
- запуск по Cron
Чекер запускается через cron и проверяет мероприятия в БД.
Проверка осуществляется следующим образом:
1. Таблица sites.
Проверяется, не прошло ли времени больше 24 часов с моментапоследнего парсинга или времени добавления последнего мероприятия. Необходимое
кол-во часов задается в настройках.
2. Таблица places.
Проверяется, являются ли данные в полях широта и долготатипом double.
3. Таблица events_pic
Скачиваются картинки во временные файлы по ссылкам ипроверяются, являются ли они изображением. После проверки временые файлы
удаляются.
4. Таблица events.
Проверяется, являются ли данные в полях Дата начала иокончания корректной датой в формате UNIX-timestampи не превышает ли дата начала дату окончания.
Необязательными к заполнению являются поля:
- почтовый индекс;
- URL-картинок;
- дата окончания;
- время мероприятия.
Остальные поля являются обязательными к заполнению.
Чекер хранит информацию в двух таблицах.
1. Таблица check_sites.
Содержит следующие поля:
- адрес сайта-донора
- разработчик
- адрес эл. почты разработчика
- дата первого парсинга
- дата последнего парсинга
- статус.
Возможные статусы: 0 - просто выключен. 1 - включен. -1 неработает (поломка).
2. Таблица check_results.
Содержит следующие поля:
- дата проверки
- ИД из таблицы 1
- выявленные нарушения
В таблицу events добавляются поля:
- checked_at
- checked_status
Вchecked_at пишемtimestamp проверки.
Если все колонки заполнены и заполнены правильно, то ставим checked_status 1, иначеоставляем поле пустым.
После каждой проверки, в случае обнаружения ошибок,отправляется e-mail наадрес разработчика с перечнем обнаруженных проблем.
Отчет о результатах проверки отправляется на дополнительныеэл. адреса, указанные в настройках.