Модуль загрузки контента для Yii 1.1

Цена договорная • наличный расчёт, безналичный расчёт, электронные деньги
25 мая 2015, 18:04 • 0 откликов • 14 просмотров

Функционал
Модуль должен выполнять следующие
задачи:

  1. Получать список задач для загрузки
    из базы данных

  2. Получать список прокси из текстового
    файла

  3. Проверять работоспособность
    прокси и анонимность

  4. Загружать контент в файловое
    хранилище, изменять статус записи в
    базе данных

  5. Выполнять несколько задач
    одновременно (curl_multi_init)

  6. Записывать в базу данных историю
    выполнения задач

Среда и порядок исполнения.

  • Модуль
    должен работать на фреймворке Yii 1.1.+

  • База
    данных mysql

  • Модуль
    должен запускаться в консоли и иметь
    собственный Log-файл.

  • Ошибки
    выполнения не должны завершать общую
    очередь задач.

  • Пути к
    log-файлам и списку прокси должны
    задаваться в конфиге приложения.

Таблица для списка задач
Id // ID для
управления записями

Url // Целевой
URL страницы

Domain // Домен
- источник

Procesed // bool
ключ обработки, должен принимать значение
= 1 сразу после получения задачи модулем.


HttpCode // Код
ответа сервера

FilterCallback //
Функция фильтра. Может заменять http код
ответа в задаче

Callback // Функция
обработки результата

Created // Дата
создания записи

Updated // Дата
обновления записи

уникальный
ключ (Url, Callback) // Один url может быть
обработан несколькими функциями

Параметры
выборки для задач должны задаваться
перед запуском загрузки.

Таблица для истории загрузок
Id // ID для
управления записями

TaskId // ID
выполняемой задачи

Url // Целевой
URL страницы

Domain // Домен
- источник

Procesed // bool
ключ обработки, должен принимать значение
= 1 сразу после получения задачи модулем.


HttpCode // Код
ответа сервера

Created // Дата
создания записи

Результат.
После проверки
списка прокси, модуль должен загружать
список задач из базы данных, выбранный
в соответствии с заданными параметрами.
В качестве результата работы принимаются
обновленные поля Processed, HttpCode и Updated, а
так же файл, содержащий код запрашиваемой
страницы.

Предлагайте сроки и стоимость.