Заказчик
Отзывы фрилансеров:
+ 2
- 0
Зарегистрирован на сайте 16 лет и 2 месяца
Бюджет:
по договоренности
Требуется переписать (написать заново, а не исправить) парсер, разбирающий определенный набор XML-файлов и записывающий всю информацию в базу. Существующий не устраивает из-за наличия критических ошибок.
Подробного описания принципов работы парсера нет. Для ориентирования будет предоставлена текущая версия парсера, набор примеров XML-файлов и структура базы данных.
Новый парсер должен удовлетворять следующим условиям:
1. Парсер должен быть написан на PHP, либо на любом другом языке с открытым кодом. В итоговом варианте парсера не должно быть никаких откомпилированных исполняемых файлов, для изменения которых потребовалась бы специальная программа и исходные файлы.
2. Перед началом либо своей работы, либо работы по парсингу конкретного файла не должно выполняться никаких общих действий, типа установки каких-либо полей в определенное значение, очистки, еще чего-нибудь.
3. Если парсер при разборе встречает какую-либо запись, которую он не может по каким-то причинам обработать (например обнаружен дубликат параметра, который уже был в этом файле), он должен переходить к разбору следующей записи, а не завершать свою работу. При этом в отдельном журнале работы скрипта должна сохраняться запись об обнаружении ошибки: время, дата, описание ошибки, номер строки и столбца, из-за которой она была вызвана.
4. Если парсер в файлах goods встречает запись о товаре, артикул которого он уже обрабатывал ранее, он должен пропустить данную запись и продолжить свою работу. При этом в журнале ошибок должна быть сделана соответствующая запись.
5. Если парсер не может обработать целый файл (например, не может его найти по нужному пути), он должен перейти к следующему файлу для разбора. При этом в журнале ошибок должна быть сделана соответствующая запись.
6. Парсер должен разбирать все данные в копию существующей базы данных. Только после того, как разобран последний файл и, в случае отсутствия ошибок, он должен заменять существующий вариант базы из копии. В журнале работы должна делаться надпись об успехе.
7. Перед заменой базы парсер должен сохранять ее целиком в бэк-ап. Файл должен быть привязан к дате.
8. Парсер должен иметь административный интерфейс, в котором была бы возможность вручную восстановить более раннюю версию базы данных из сохраненных бэк-апов. То есть, по крайней мере, в нем должна быть сделана возможность выбора даты, на которую надо сделать восстановление. Если файлов на одну дату может быть много, тогда надо в каждое имя файла добавлять дату и время, чтобы вручную выбрать конкретный файл.
9. В этом же административном интерфейсе необходимо сделать блок настроек, где должна быть предоставлена возможность менять порядок парсинга файлов, а также где будут находится прочие настройки скрипта, типа пути до разбираемых файлов.
Работаем без предоплаты. Всех заинтересованных просьба отписать примерные сроки и примерный диапазон цен. Желающим работать будут высланы указанные файлы.
Разделы:
Опубликован:
02.11.2009 | 19:00