Модераторы: PILOT
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разовый проект / удаленно / от 50000, Многопоточный парсер 
:(
    Опции темы
mihailovich
  Дата 18.4.2016, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.4.2016

Репутация: нет
Всего: нет



Ниже выкладываю часть ТЗ. 

ya.mihailovich(sob)gmail.com 

Модуль динамического сбора информации 

Задачи 
• Первичная инициализация данных (разовое наполнение БД) 
• Периодическое обновление (месяц, квартал) 
• Ежедневное обновление 
• Расчет статистических данных на основе полученной статистики (ежедневно) 
• Веб-интерфейс позволяющий производить мониторинг системы и ее администрирование 

Бизнес слой 
Три блока данных, которые необходимо обрабатывать. Компании и их продукты. 
1. Банки и банковские вклады 
2. Управляющие компании и ПИФы 
3. Форекс брокеры и ПАММ-счета 

Эти три типа компаний и их продукты независимы друг от друга, имеют разный набор параметров, статистики, источники и периодичность сбора информации. 
Обработку этих трех блоков нужно сделать в разных независимых модулях (отдельно запускаемых, сбой в одном модуле не влияет на работу в другом). 
Общий фреймворк для трех модулей допустим и приветствуется. 

Прокси 
Через веб-интерфейс задаются параметры прокси-сервера. Вся работа идет через него. 

Ресурсы 
Так как будут запускаться 1000 задач в день, нужно иметь в виду вопрос памяти. Чисть ее постоянно. 

Язык 
Не PHP.  Не Microsoft family. Что-то многопоточное, умеющее долго работать без перезагрузки, не течь по памяти, хорошо умеющее парсить. 

Замечание об удалении данных 
Никогда не удаляем данные из БД. Вместо удаления – помечаем как 'архивный'. 

Требования для парсеров 

Каждый парсер должен вести свой журнал: 
1. Активен ли он в данный момент 
2. Какой элемент обрабатывает сейчас 
3. Когда был запущен последний раз 
4. За сколько обработал последний элемент  
5. Сколько неудачных запусков 
6. Среднее время обработки одного элемента 
7. Среднее время работы всего цикла 

Управление парсером 
1. Запустить любой парсер вручную в любой момент 
2. Остановить его работу в середине выполнения 
3. Поставить его на паузу (не будет запущен по расписанию) 
4. Добавить новый поток (если данный парсер не однопоточный по бизнес логике – парсесер небольшого файла однопоточный, парсер 900 графиков – многопочный) 
5. Уменьшить ко-во активных потоков 
6. Для задач по расписанию иметь возможность указать с каким количеством потоков стартовать 
7. У компаний и продуктов должен быть флаг – активен это элемент для парсинга или нет. (Т.е. помечаем некий банк как 'не обновлять данные' и при следующем проходе парсер не будет рассчитывать статистику для него, или для УК не будут обновляться графики для ее ПИФов или для конкретного ПИФа). 

Добавление/удаление/редактирование парсеров 
У каждого парсера есть урл с которым он работает. Он должен быть виден в админ панели. 
Некоторые парсеры уникальны и индивидуальны (парсинг файла с ПИФами). 
Один диспетчер обновления графиков ПИФов (900) и 900 парсеров. Этот список должен быть доступен в админ панеле. Там мы имеем возможность редактировать/удалять эти парсеры.  
Так 900 парсеров будут очень сходы между собой, то хочется иметь возможность добавлять новые без участия программиста, просто через интерфейс (как пример: указать урл данных, формат csv/json/etc, дать название). 

Пересчет/устранение ошибок 
Если парсер пропустил несколько запусков, он должен получить все данные, которые пропустил. 
Мониторинг изменения данных 
Если парсер обнаружил новый банк, новую УК, новый ПИФ или исчезновение таковых, то они должны быть в статусе «ожидает проверки». До подтверждения оператором этот элемент не участвует ни в каких операциях. 

Интерфейс администратора 
По специальному УРЛ (логину и паролю) должна показываться страница управления мониторинга пасерами. Три независимых страницы управления (три типа продуктов) плюс общие настройки. Тут должно быть доступ все, что было описано выше.  
Дополнительно: 
• Простой просмотр всех данных из БД (без супер дизайна, но достаточно юзабильно), т.е. все, что парсеры собрали, должно быть доступно здесь. 
• Возможность редактирования и удаления каждого данного 
• Добавлениередактирование  пользователей 
Типы доступов: 
• Полный 
• Только чтение 
• Изменение (без удаления) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Объявления о найме специалистов"
BearBeer
  • Придерживайтесь правил форума.

  • Если вы предлагаете НЕ удалённую работу, то

    название города и фирмы обязательно указывать уже в названии темы(!)

  • Одна вакансия - одна тема.

    Вам будет удобней следить за ответами, ищущим работу - выбирать.


  • В случае, если у нас возникнут обоснованные подозрения

    о неблагонадежности Вашего электронного адреса, ваш аккаунт будет удалён, а доступ к форуму запрещён!


  • Хотите быстрее найти специалиста? Разместите тогда ваше объявление вверху всех страниц сайта! Тогда его будут ежедневно видеть более 4000 программистов! Обратите внимание на верхний левый угол сайта - там вы найдете дополнительные инструкции при клике на линк.

В случае невыполнения данных правил Ваши сообщения могут быть удалены без предупреждения.


Полный спискок правил. С уважением, BearBeer.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Объявления о найме специалистов | Следующая тема »


 




[ Время генерации скрипта: 0.0782 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.