@UserTrue Получилось! Спасибо!
Вызов асинхронной функции
-
Добрый вечер. Подскажите как реализовать идею?
Я запускал 20 потоков - в каждое закидывалось прокси и профиль с авторизацией на сайте. И дальше уже тыкались действия на сайте. Сейчас хочу через асинхронную функцию запускать по 5 браузеров и чтобы туда закидывало прокси и профили, делались действия и потом следующие 5 браузеров пока не применит все прокси.Раньше вот так запускал 20 потоков, но лагало и неудобно так:

Возможно через асинхронную функцию облегчить жизнь?
-
Примерно так:
- Считываем файл прокси в список
- Делаем цикл (в данном случае он равен количеству прокси [[LIST_RPOXY_GOOD]].length).
- В цикле получаем прокси по индексу (в данном случае кодом: VAR_PROXY_GOOD = VAR_LIST_PROXY_GOOD[VAR_CYCLE_INDEX]).
- Вызываем нужную асинхронную функцию.

В настройках функции указываем параметр (в данном случае PROXY_GOOD)

В настройках асинхронной функции тоже указываем тот же параметр (PROXY_GOOD) и устанавливаем максимальное количество потоков (в данном случае 5). Переменная ASYNC_USERRREGISTRATION_IDS - это лист, где хранятся ID запущенных потоков.

Теперь в теле асинхронной функции просто получаем параметр, который указывали (PROXY_GOOD). И теперь в каждом потоке будет свой прокси.

Ну и в конце просто вызываем действие ждать окончание потоков.

Лень было под пример проекта переделывать, поэтому картинками объяснил.
P.s. В асинхронных функциях видны только переданные параметры, глобальные переменные и ресурсы. Асинхроные функции в коде выполняются почти мгновенно, не дожидаясь результата. Поэтому важно "Ждать завершение ассинхронных функций", если потом по плану использовать их результаты. И если потом в основном потоке, после завершения асинхронных функций, нужно получить переменную, которая была объявлена в асинхронной функции нужно либо сделать ее глобальной, либо передать в ресурс, либо в настройках ставить "Есть возвращаемое значение: да" и там его как-то настраивать.
-
@SecDeveloper Спасибо за время! Что-то ещё сложнее получилось для меня всё это))
-
@Neboch said in Вызов асинхронной функции:
@SecDeveloper Спасибо за время! Что-то ещё сложнее получилось для меня всё это))
Если что-то непонятно, напиши что именно, объясню чуть попроще. Только в пределах разумного)
-
@SecDeveloper Я через цикл Foreach поковырялся в итоге для себя что-то собрал понятное. Спасибо)
Почитай другую тему мою, вот там совсем не могу найти ответ всё обрыл