многопоточность в проекте
-
@support Спасибо!
@support said in многопоточность в проекте:
Уберите проверку на успешность входа.
в данном случае этот вариант подойдет, но сложилась такая ситуация: - важной частью шаба для приглашения является первоначальное посещение группы - куда будем приглашать - чтобы она встала в список групп первой и там же получаю ее название, чтобы делать проверку - как быть в этом случае? - я все не могу успокоиться по поводу того что не правильно понимал назначение онапликатионстарт(((( - как мне выполнить такой порядок - авторизация - зашли в группу куда будем приглашать - перешли на страницу пользователя - пригласили - перешли на страницу другого пользователя - пригласили - перешли - пригласили - перешли 50 - пригласили и тд., то есть при новом успехе чтобы поток не переходил каждый раз в группу куда будем приглашать?
-
как мне выполнить такой порядок - авторизация - зашли в группу куда будем приглашать - перешли на страницу пользователя - пригласили - перешли на страницу другого пользователя - пригласили - перешли - пригласили - перешли 50 - пригласили и тд., то есть при новом успехе чтобы поток не переходил каждый раз в группу куда будем приглашать?
Ну так так и делайте, тут не вижу надобности для костылей, какие проблемы с этим скриптом?
-
@support said in многопоточность в проекте:
Ну так так и делайте, тут не вижу надобности для костылей, какие проблемы с этим скриптом?
проблем со скриптом нет - есть проблема с пониманием построения - тем более после того как Вы мне своим примером по рукам надовали - то есть такой алгоритм можно через while по данным в ресурсе выполнить?
-
@Turutur
Алгоритм простойБерем акк из ресурса. Заходим в этот акк(можно подключить автологин по желанию). Берем группу из ресурса. Получаем пользователей в список. Foreach Список пользователей Игнорировать ошибки(на всякий случай) Приглашаем текущего пользователя.
Если при этом установить несколько потоков, то это будет работать для нескольких пользователей одновременно.
-
@support said in многопоточность в проекте:
Получаем пользователей в список.
Foreach Список пользователейу меня комбайн разделен на 3 скрипта - потому как запускать все всесте без надобности - это долгий и ненужный процесс - это я к тому, ч в третьей части - именно в приглашалке я имею входные ресурсы с аккаунтами для авторизации группу куда приглашать и файл со списком пользователей которых нужно приглашать - и в этом случае действие получаем пользователей в список из ресурса не подойдет так как оно будет копировано на все потоки - сдесь я сделал алгоритм такой же как в примере что вы сбрросили - сделал авторизацию (убрал проверку) - затем загружаем пользователя из ресурса проверяем можно ли пригласить - затем проверяем в группе или нет - если нет приглашаем - после в лог пишу кого пригласил - в ресурсе поставил и чтение и запись, чтобы строка использованная удалялсь - ИНТЕРЕСУЕТ ЦИКЛ ЗДЕСЬ КАК РЕАЛИЗОВАТЬ, ВОПРОС (как мне выполнить такой порядок - авторизация - зашли в группу куда будем приглашать - перешли на страницу пользователя - пригласили - перешли на страницу другого пользователя - пригласили - перешли - пригласили - перешли 50 - пригласили и тд., то есть при новом успехе чтобы поток не переходил каждый раз в группу куда будем приглашать?) ПРО ЭТОТ СЛУЧАЙ! - как реализовать цикл по ресурсу? Какой здесь будет алгоритм?
-
@support - чего не хватает в BAS - почему я не могу сделать задуманное - я могу сделать любой скрипт - реально в два клика - но только однопоточный!!!! Почему симбиоз не получается??? Какого то действия не хватает или функции!!! Я пользовался софтом, который работал по схеме - авторизация аккаунтов во всех потоках - проверка вступления в группу в которую приглашаем - если нет вступаем - а потом все потоки берут строку из файла который я прикрепляю и приглашают в группу - причем разница не ощутима что я с одного ака приглашаю, что с 25, либо же 1 ак копирую на 25 строк и приглашаю в 25 потоков. В Bas же приходится переиначивать скрипт, чтобы перевести на многопоток - потому что никак не получается скрипт содержащий список действий однопоточный (авторизация - получения пользователей в файл - цикл по списку пользователей - приглашаем в группу) - перевести в многопоток - я как только не пробовал - ну не работает он так!!! Как -КАК это сделать - я уже месяц пытаюсь - я не спорю, что все работает и все легко - но в многопотоке не работает!!! Функция онапликатионстарт - это вообще - бред! Зачем она нужна? Вы пишите что это функция которая запускается вначале работы скрипта для всех его потоков - ЭТО СУПЕР ЭТО И НУЖНО - НО ПОЧЕМУ Я НЕ МОГУ ИСПОЛЬЗОВАТЬ ЕЕ ДЛЯ ВХОДНЫХ ДАННЫХ? Может можно все таки сделать так, что действия выполненные в ней и переменные с присвоенными значениями сохранялись для остальных функций и действий при последовательном выполнении.
КАК БЫ ЭТО ВЫГЛЯДЕЛО: Нужен скрипт в 25 потоков- ускоряем скрипт - создаем онапликатионстарт
в нем действия - запрет загрузки картинок, wcc? фреймов, скиптов и тд что нужно
*здесь же получаем данные из ресурса в список - здесь же получаем расположение файла
- здесь же создаем список
*ЕСЛИ НУЖНО ПОЛУЧИТЬ КАКИЕТО ДАННЫЕ ИЗ ИНЕТА - ПОЛУЧАЕМ В ОДИН ПОТОК С ИСПОЛЬЗОВАНИЕМ ОДНИХ УЧЕТНЫХ ДАННЫХ - И ОБРАБАТЫВАЕМ
А вот дальше уже идет работа основного скрипта в многопотоке - запуск потока 1 -2- 3- 4- 5- ... -25 - и выполнение прописанных действий.
ПРИЧЕМ САМЫМ ГЛАВНЫМ ОБСТОЯТЕЛЬСТВОМ ЯВЛЯЕТСЯ ТО, ЧТО ПРИ МНОГОПОТОЧНОМ ИСПОЛЬЗОВАНИИ ПЕРЕМЕННЫХ И ДЕЙСТВИЙ С НИМИ СВЯЗАННЫХ - ЭТО ДЕЛАЕТСЯ ВСЕГО ОДИН РАЗ ДЛЯ ВСЕХ ПОТОКОВ - ТО ЕСТЬ ДАННЫЕ НЕ МНОЖАТЬСЯ! Если в теле скрипта при 10 поточном исполнении есть ресурс в список, цикл и так далее - то чтобы это происходило один раз для всех потоков а если это цикл - то все потоки включались в него в него один и действовали сообща.
Просто это уже реально не смешно - когда за месяц не могу скрипт сделать - и поверьте дело не во мне - я zennoposter за несколько часов освоил и применял успешно - и буквально 2 с лишним месяца назад купил лицензию - от которой позже отказался - ждал премиум BAS - в пользу BAS а сейчас даже не знаю - правильно ли сделал. Я ни в коем случае не хочу Вас обидеть - но поставленные Вами приоритеты - неправильные - я имею в виду магазин и тд. Может сначала сделать так. чтобы любой человек пришедший к BAS хотф бы за пару дней разобрался и начал использовать по назначению.... Я реально вижу что народ не задерживается - новички приходят - задают ВСЕГДА ОДНИ И NT ;T ВОПРОСЫ И СВАЛИВАЮТ. Увы пока это так.....
- ускоряем скрипт - создаем онапликатионстарт
-
Получаем пользователей в список.
Foreach Список пользователейв этом случае действие получаем пользователей в список из ресурса не подойдет так как оно будет копировано на все потоки
Речь идет о списке пользователей в группе в одноклассниках.
ПРО ЭТОТ СЛУЧАЙ! - как реализовать цикл по ресурсу? Какой здесь будет алгоритм?
В бесконечном цикле брать ресурс без повторного использования.
Почему симбиоз не получается???
Не знаю, что именно вам не хватает?
В Bas же приходится переиначивать скрипт, чтобы перевести на многопоток
Нет, это не так, чтобы добавить многопоточность в БАС достаточно выставить количество потоков, переделывать скрипт не нужно, в том числе и в том примере, что вы описали.
перевести в многопоток - я как только не пробовал - ну не работает он так!!!
Для того, чтобы перевести в многопоток, достаточно только выставить количество потоков.
Функция онапликатионстарт - это вообще - бред!
Нет не бред, это нужная функция.
Зачем она нужна?
Я уже написал ввам и достаточно подробно.
запрет загрузки картинок, wcc? фреймов, скиптов и тд что нужно
Запрет картинок в OnApplicationStart не будет работать, так как при старте любого потока все данные в браузере очищаются.
здесь же получаем расположение файла
здесь же создаем список
*ЕСЛИ НУЖНО ПОЛУЧИТЬ КАКИЕТО ДАННЫЕ ИЗ ИНЕТА - ПОЛУЧАЕМ В ОДИН ПОТОК С ИСПОЛЬЗОВАНИЕМ ОДНИХ УЧЕТНЫХ ДАННЫХ - И ОБРАБАТЫВАЕМВы можете так сделать, но обмен данными между ней и потоками осуществляется только посредством глобальных переменных, файлов или ресурсов.
ПРИЧЕМ САМЫМ ГЛАВНЫМ ОБСТОЯТЕЛЬСТВОМ ЯВЛЯЕТСЯ ТО, ЧТО ПРИ МНОГОПОТОЧНОМ ИСПОЛЬЗОВАНИИ ПЕРЕМЕННЫХ И ДЕЙСТВИЙ С НИМИ СВЯЗАННЫХ - ЭТО ДЕЛАЕТСЯ ВСЕГО ОДИН РАЗ ДЛЯ ВСЕХ ПОТОКОВ - ТО ЕСТЬ ДАННЫЕ НЕ МНОЖАТЬСЯ! Если в теле скрипта при 10 поточном исполнении есть ресурс в список, цикл и так далее - то чтобы это происходило один раз для всех потоков а если это цикл - то все потоки включались в него в него один и действовали сообща.
Именно так работает система ресурсов. Почему вы не хотите ее использовать?
Просто это уже реально не смешно - когда за месяц не могу скрипт сделать - и поверьте дело не во мне - я zennoposter за несколько часов освоил и применял успешно - и буквально 2 с лишним месяца назад купил лицензию - от которой позже отказался - ждал премиум BAS - в пользу BAS а сейчас даже не знаю - правильно ли сделал. Я ни в коем случае не хочу Вас обидеть - но поставленные Вами приоритеты - неправильные - я имею в виду магазин и тд. Может сначала сделать так. чтобы любой человек пришедший к BAS хотф бы за пару дней разобрался и начал использовать по назначению.... Я реально вижу что народ не задерживается - новички приходят - задают ВСЕГДА ОДНИ И NT ;T ВОПРОСЫ И СВАЛИВАЮТ. Увы пока это так.....
Можете использовать zennoposter, я никого не держу.
-
@support said in многопоточность в проекте:
Можете использовать zennoposter, я никого не держу.
- Я не хочу использовать zenno - я хочу использовать пользовательски удобный BAS с помощью которого в 2 клика можно создать многопоточный скрипт. Хватит платить разработчикам! А зенку я привел не то что в пример, а просто как один из вариантов автоматизации..
@support said in многопоточность в проекте:
Для того, чтобы перевести в многопоток, достаточно только выставить количество потоков.
Увы это не так! - и если оно так, то оно реализовано так, что как-то не так - без обид.
@support said in многопоточность в проекте:
Запрет картинок в OnApplicationStart не будет работать, так как при старте любого потока все данные в браузере очищаются.
А для чего они очищаются - если бы нужно было действие для очистки - его можно вызывать тогда когда оно нужно - а вот функция для настройки вначале работы скрипта с тем алгоритмом что я описал - была бы просто незаменима!
@support said in многопоточность в проекте:
Именно так работает система ресурсов. Почему вы не хотите ее использовать?
Потому что это не совсем понятный, долгий процесс
@support - я верю в BAS - и то что пишу, трачу свое время - пытаюсь сделать его лучше - и я не пишу претензии, если так могло показаться - это предложения - ведь мы ведем двухстороннюю беседу - и BAS вы выложили не готовым, и продолжаете совершенствовать. И не нужно относится ко мне как к зануде - вы можете не отвечать на то что я пишу - и Вы должны согласится что не все просто как хотелось бы, как и я соглашаюсь с тем, что вы делаете очень сложную работу. Просто не забывайте, что на другой стороне ваших знаний - есть простые пользователи.
Ниже прикреплен архив - это результат более месяца работы - начинал все легко в один поток, потом пошли трудности - потом пропало желание делать - опять взялся - надоело возиться на одном месте - решил все же доделать - короче капец - страдание а не создание - так вот в архиве 3 скрипта отдельных - потому что реализовать через то же свитч - на входе сложновато как то - первый скрипт по заданной ключевой фразе находит группы донноры в одноклассниках - однопоточный. 2-ой парсит последних активных пользователей в группе - сделан с вашей помощью - работает в многопотоке - каждый раз выполняя скрипт полностью с ненужными повторениями - такими как переход на страницу профиля... и 3й - сделан используя данные вами примеры во втором = работает в многопотоке - тестировался с 3х аккаунтов - работает примерно в 10 раз медленее чем руками с одного ака! - опять же потому что при каждом новом потоке нужно выполнять одни и те же действия - такие как запрет загрузки изображений, проверку авторизации, переход в группу в которую будем приглашать - вот вам ответ почему не использую ресурсы.
Как это видел я -когда делал тех задание 3его скрипта -
1)на входе имеем список с аками для авторизации с них будем приглашать - каждый ак - это новый поток- имеем список профилей пользователей с тематических групп - которых будем приглашать
- имеем группу - в которую будем приглашать ее ID
Итак начало работы скрипта - КАК ХОТЕЛОСЬ БЫ!!!
- Настраиваем работу браузера для всех потоков - запрещаем показ картинок для ускорения процесса работы скрипта
- Авторизуемся каждым аком - проверяем авторизацию
- Переходим каждым аком на страницу группы в которую будем приглашать - это для того чтобы позже при вызове окна с группами - наша стояла первой!
ВЫШЕОПИСАННОЕ - ЭТО ТО ЧТО НУЖНО СДЕЛАТЬ ОДИН РАЗ ДЛЯ ВСЕХ ПОТОКОВ - НАСТРОЙКА БРАУЗЕРА БЕЗ СКИДЫВАНИЯ ИНСТАНСА - ЭТО ИДЕАЛЬНО!!!
Если бы мне нужно было перезагрузить браузер - я бы использовал действие сброс - но мне не нужно каждый раз чтобы вы несколько секунд тратилось на один и те же действия!!!ВСЕ!!! Дальше идет только цикл - который общий для всех потоков - то есть все потоки берут строку с профилем с одного и того же ресурса с удалением - переходят на страницу профиля пользователя - проверяют приниает ли он приглашения в группы - и если да - проверяем в группе он или нет - если нет - то приглашаем.
Согласитесь - это очень простой - это супер мега фонарный алгоритм - который я тупая обезьяна делал целый месяц.
Посмотрите на досуге
0_1478736294193_123OK.rarИ речь не идет о том, что бы вы в очередной раз показали как правильно использовать имеющиеся действия - а просто, чтобы проанализировали, что мне не хватило!!! и как сделать BAS лучше. И заметьте без обид - если бы я хотел помучиться - я бы юзаал то же хьюман...
-
Увы это не так! - и если оно так, то оно реализовано так, что как-то не так - без обид.
Могу с вами поспорить. Это действительно так просто. И в том проекте, что я вам сделал так и происходит.
А для чего они очищаются - если бы нужно было действие для очистки - его можно вызывать тогда когда оно нужно - а вот функция для настройки вначале работы скрипта с тем алгоритмом что я описал - была бы просто незаменима!
Просто выполняйте действия по настройке браузера в начале работы потока, а не в OnApplicationStart.
Если нужно сделать что-то 1 раз в начале работы скрипта - выполните это в OnAplicationStart и поместите результаты в глобальную переменную или ресурс, а потом читайте от туда в основном потоке. Пример тоже был.Потому что это не совсем понятный, долгий процесс
Что именно не понятно? Что может быть проще, чем поставить {{users}} в коде?
я верю в BAS - и то что пишу, трачу свое время - пытаюсь сделать его лучше - и я не пишу претензии, если так могло показаться - это предложения - ведь мы ведем двухстороннюю беседу - и BAS вы выложили не готовым, и продолжаете совершенствовать. И не нужно относится ко мне как к зануде - вы можете не отвечать на то что я пишу - и Вы должны согласится что не все просто как хотелось бы, как и я соглашаюсь с тем, что вы делаете очень сложную работу. Просто не забывайте, что на другой стороне ваших знаний - есть простые пользователи.
Опять же не соглашусь с вами, все очень просто.
Конкретных предложений от вас в этом сообщении кроме как поменять принцип работы OnApplicationStart я не вижу.Посмотрите на досуге
0_1478736294193_123OK.rarПосмотрел. У меня ваш скрипт работает, вот результат.
Возможно дело в том что вы вписали 1 акк и указали количество одновременных использований в 1 для пользователей?