«Запуск с ограничением потоков» для асинхронных функций

Поддержка
  • Здравствуйте всем.
    Имею такую схему проекта :
    -MAIN на запросах выполняется в 3-30 потоках. Каждый поток на своей проксе и куках. По триггеру MAIN запускает асинхронную функцию (с полноценным браузером) , но не более одного экземпляра на «своей» же проксе и кукисах . Чтобы не было «перехлеста» проксей, и кукисов - контроль через глобальные переменные.
    Актуальная нерешенная задача:
    Ограничить количество запускаемых асинх функций с браузерами (допустим 2-3 для всех MAIN). Остальные пусть стоят в очереди

    Попробовал воспользоваться кубиком «Выполнить с ограничением потоков». 8f45b15b-85a8-4530-bd55-02019faa4354-image.png
    Вроде сделал как в примере … запускается только один поток с браузером в котором пытаются отработать все потоки, а в «Информация о ограничении потоков» все по нулям

    «Скелет» задумки без деталей (как то прокси, куки и глоб.переменные) прилагается limitation_THREADS.xml
    Что я не доделал?

  • Привет. В твоем коде ты ограничиваешь сам "Запускатель" нового потока. Этот кубик выполняется мгновенно и поэтому это все не работает. Код в блоке ограничение потоков должен "зависать" на полезную работу, тогда он будет работать корректно:

    limit.xml

  • @Int64 , . Я только учусь. Спасибо за пример - буду "курить" как с асинх обращаться, а то все методом "ненаучного тыка" )))

  • 0 Votes
    9 Posts
    952 Views
  • Работа с json

    Поддержка
    0 Votes
    3 Posts
    803 Views
  • 0 Votes
    3 Posts
    637 Views
  • Помощь с xpath

    Поддержка
    0 Votes
    12 Posts
    1432 Views
  • 0 Votes
    4 Posts
    1352 Views