@kuzkuz, нет, но пользователь может создать группы, распределить по ним аккаунты и во время настройки выбрать нужные группы. Скрипт будет работать только с аккаунтами из выбранных групп.
Помогите с логикой (Json)
-
После того как сайт мне отдаёт список юзеров в формате Json, я получаю от туда список нужных мне исключая не подходящие страны действием "Получить все значения" модуля Json, получается просто огромная строчка вида
$.html[?(@.country_name != "India" && @.country_name != "Philippines" && @.country_name != "Indonesia" && @.country_name != "Bangladesh" && @.country_name != "Pakistan" && @.country_name != "Serbia" && @.country_name != "South Africa" && @.country_name != "Algeria" && @.country_name != "Sri Lanka")].user_idТакое действие очень сильно нагружает бас и он подвисает если я запускаю больше 100 потоков при этом сам проц вроде работает на 40-50% хотя если измерять время выполнения действий то это действие тоже будет самым затратным для цп, а таких в скрипте 4 штуки.
По логике я понимаю что это вроде как цикл перебора по этому он так много подвешивает ресурсов, но каким образом можно это же действие упростить. Может если через действие "выполнить код" и там добавить задержки между каждым действием внутри самого цикла перебора
-
$.html[?(["India", "Philippines"].indexOf(@.country_name) < 0)].user_id -
@Oyasumi-Punpun
Именно в таком ввиде почему-то не работает возвращает пустую строчку, а моё выражение выше возвращает список. Изначальный формат такой{"html":[{"user_id":"201259371","sex":"male","nickname":"GoldnShFan","country_code":"ch","country_name":"Switzerland","state":"","age":"51","vip":"1"},{"user_id":"2344793","sex":"female","nickname":"Sponsored","country_code":"us","country_name":"United States","state":"","age":"25","vip":"0"},{"user_id":"201150957","sex":"female","nickname":"patriciazm","country_code":"us","country_name":"United States","state":"","age":"19","vip":"0"},{"user_id":"201151326","sex":"female","nickname":"nancypv","country_code":"us","country_name":"United States","state":"","age":"24","vip":"0"}по моему запросу возвращает 201259371, 2344793, 201150957 ну и т.д
по вашему почему то просто пустая переменная -
@Oyasumi-Punpun
Если вот так сделать$.html[?(["India"].indexOf(@.country_name) < 0)].user_idТо возвращает нормально, если через запятую начать прописывать еще условия то выдаёт пустую переменную
-
@Oyasumi-Punpun
Я может как то не так перечисляю странны и не тот массив создаю. Но вот посмотрите видео. Первый вариант я просто создаю переменную с одной странной всё нормально, во втором делаю список и всё уже 0. Как будто он ищет чтобы там было совпадение по всем странам сразу в одном пункте. Пробовал ставить вместо string - expression Но там вообще ошибка сразу красная. Пример -
@defol ночью проверял в BAS. Есть баг в самом движке модуля, не совсем корректно обрабатывает массивы внутри фильтров. Буду править позже. Пока, как временное решение, могу предложить вам два плюс-минус адекватных варианта.
- Использовать не массив, а строку с разделителем:
$.html[?("India:Philippines:Switzerland:Russia".split(":").indexOf(@.country_name) < 0)].user_id- Отфильтровать все с помощью
Выполнить код:
var excluded = ["India", "Russia", "Philippines"]; [[RESULT]] = JSON.parse([[SOURCE]]).html.filter(function (val) { return excluded.indexOf(val['country_name']) < 0; }).map(function (val) { return val['user_id']; });