1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Улучшение [1.1.839] Сделать возможность задавать приоритеты задачам для распределения потоков.

Тема в разделе "1.1.853", создана пользователем antonevi4, 13 дек 2016.

  1. antonevi4

    antonevi4 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    16 апр 2015
    Сообщения:
    67
    Симпатии:
    15
    На данный момент распределение активных потоков в задачах идет последовательно по времени задачи. То есть - освободившиеся потоки перебрасываются на задачу созданную по времени раньше остальных. Предложение - добавить параметр для приоритетности по распределению потоков по анологии с распределением слотов.
     
    EceninPars нравится это.
  2. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    какая практическая ценность? по мне никакой, из минусов - усложняет логику, замедлит работу парсера в целом
     
    GK нравится это.
  3. GK

    GK New Member

    Регистрация:
    8 сен 2016
    Сообщения:
    1
    Симпатии:
    0
    Практическая ценность - есть задачи, которые хотелось бы выполнить в первую очередь, не смотря на то что они были добавлены позже других. Есть задачи не требующие быстрого ответа, есть задачи ответ которых должен быть получен как можно быстрее.
     
  4. antonevi4

    antonevi4 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    16 апр 2015
    Сообщения:
    67
    Симпатии:
    15
    В нашем случае данный функционал нужен для того, чтобы решить следующие задачи
    - важные (срочные) задачи не должны ждать выполнения всего стека, длина обработки которого может доходить до нескольких часов
    - короткие задачи нужно "просовывать" вперед
    - разные пользователи должны иметь разный приоритет (в зависимости от подписок и т.п.)
    - очень длинные задачи (от часа до дней) должны не мешать остальным задачам, работая только с невостребованными потоками
     
    Metroid, EceninPars, vipuncle и ещё 1-му нравится это.
  5. EceninPars

    EceninPars A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    14 янв 2013
    Сообщения:
    65
    Симпатии:
    14
    Полностью поддерживаю автора топика по необходимости данного улучшения, т.к. получается такая ситуация, что никак не удается закончить очень большое низкоприоритетное задание, из за того, что приходится выполнять много высокоприоритетных но коротких заданий. А когда они заканчиваются апарсер простаивает, вместо того, чтобы выполнять низкоприоритетное задание.
     
  6. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    это как? почему он простаивает?
     
  7. EceninPars

    EceninPars A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    14 янв 2013
    Сообщения:
    65
    Симпатии:
    14
    Потому как низкоприоритетное задание было остановлено. Когда высокоприоритетные закончили парсинг, нужно снова включить низкоприоритетное. А когда через апи придет высокоприоритетное, ставить низкоприоритетное на паузу и запускать сразу по завершению. Хотелось бы это автоматизировать чтобы оно само выключалось и включалось , если других заданий нет в очереди.
     
  8. Boomerc

    Boomerc A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    15 мар 2017
    Сообщения:
    35
    Симпатии:
    16
    Почему нельзя поставить несколько копий парсера на сервер для разной группы приоритетов, поставить перед ним балансировщик, который в зависимости от типа ( группа задач) роутит на нужный парсер? Можно использовать haproxy в качестве балансировщика. Единственно, что задачи с низким приоритетом не будут ставится на паузу, а будут работать, как работали, нагружая сервер или используя нужные потоки для прокси, которые могут быть ограничены, etc.
     
  9. EceninPars

    EceninPars A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    14 янв 2013
    Сообщения:
    65
    Симпатии:
    14
    не хотелось бы пользоваться костылями и потоки прокси ограничены... надеюсь в ближайших обновлениях добавят это.
     
  10. Boomerc

    Boomerc A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    15 мар 2017
    Сообщения:
    35
    Симпатии:
    16
    Это не совсем костыли, в том числе для того load balancing (а так же middlewares и тому подобное) и были придуманы.Я привел пример решения, которое можно сделать прямо сейчас, а ждать нового функционала можно бесконечно долго. На подобной архитектуре держится много софта, это отработанное решение годами.
     
    Metroid, olegborzov и EceninPars нравится это.
  11. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Добавлена возможность указать приоритет заданию:

    [​IMG]

    • Задания с большим приоритетом будут получать потоки сразу после завершения каждого запроса у заданий с меньшим приоритетом
    • Если у заданий приоритет одинаковый то преимущество отдается заданию которое было раньше добавлено по времени
    • Работает только с динамическим лимитом потоков
    • При добавлении задания через API необходимо указывать поле prio от 1 до 100(больше - выше)
     
    Metroid, Support, antonevi4 и ещё 1-му нравится это.
  12. antonevi4

    antonevi4 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    16 апр 2015
    Сообщения:
    67
    Симпатии:
    15
    Апдейт может вызвать проблемы!

    Поставил 839, парсеры не поднялись, логи не пишут. Откатил на 838 - всё опять заработало. В деталях пока не разбирался.
     
  13. btr

    btr A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 фев 2013
    Сообщения:
    198
    Симпатии:
    116
    +1 обновился, апарсер не запускается после обновы, логи пусты
    Debian версии как x32 так и x64
     
  14. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Исправлено в 1.1.840
     
    btr нравится это.
  15. antonevi4

    antonevi4 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    16 апр 2015
    Сообщения:
    67
    Симпатии:
    15
    Отличный функционал, спасибо, давно ждали!
     

Поделиться этой страницей