многопоточность в проекте



  • @support Спасибо!

    @support said in многопоточность в проекте:

    Уберите проверку на успешность входа.

    в данном случае этот вариант подойдет, но сложилась такая ситуация: - важной частью шаба для приглашения является первоначальное посещение группы - куда будем приглашать - чтобы она встала в список групп первой и там же получаю ее название, чтобы делать проверку - как быть в этом случае? - я все не могу успокоиться по поводу того что не правильно понимал назначение онапликатионстарт(((( - как мне выполнить такой порядок - авторизация - зашли в группу куда будем приглашать - перешли на страницу пользователя - пригласили - перешли на страницу другого пользователя - пригласили - перешли - пригласили - перешли 50 - пригласили и тд., то есть при новом успехе чтобы поток не переходил каждый раз в группу куда будем приглашать?


  • administrators

    как мне выполнить такой порядок - авторизация - зашли в группу куда будем приглашать - перешли на страницу пользователя - пригласили - перешли на страницу другого пользователя - пригласили - перешли - пригласили - перешли 50 - пригласили и тд., то есть при новом успехе чтобы поток не переходил каждый раз в группу куда будем приглашать?

    Ну так так и делайте, тут не вижу надобности для костылей, какие проблемы с этим скриптом?



  • @support said in многопоточность в проекте:

    Ну так так и делайте, тут не вижу надобности для костылей, какие проблемы с этим скриптом?

    проблем со скриптом нет - есть проблема с пониманием построения - тем более после того как Вы мне своим примером по рукам надовали - то есть такой алгоритм можно через while по данным в ресурсе выполнить?


  • administrators

    @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 ВОПРОСЫ И СВАЛИВАЮТ. Увы пока это так.....


  • administrators

    @Turutur

    Получаем пользователей в список.
    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)на входе имеем список с аками для авторизации с них будем приглашать - каждый ак - это новый поток

    1. имеем список профилей пользователей с тематических групп - которых будем приглашать
    2. имеем группу - в которую будем приглашать ее ID

    Итак начало работы скрипта - КАК ХОТЕЛОСЬ БЫ!!!

    • Настраиваем работу браузера для всех потоков - запрещаем показ картинок для ускорения процесса работы скрипта
    • Авторизуемся каждым аком - проверяем авторизацию
    • Переходим каждым аком на страницу группы в которую будем приглашать - это для того чтобы позже при вызове окна с группами - наша стояла первой!

    ВЫШЕОПИСАННОЕ - ЭТО ТО ЧТО НУЖНО СДЕЛАТЬ ОДИН РАЗ ДЛЯ ВСЕХ ПОТОКОВ - НАСТРОЙКА БРАУЗЕРА БЕЗ СКИДЫВАНИЯ ИНСТАНСА - ЭТО ИДЕАЛЬНО!!!
    Если бы мне нужно было перезагрузить браузер - я бы использовал действие сброс - но мне не нужно каждый раз чтобы вы несколько секунд тратилось на один и те же действия!!!

    ВСЕ!!! Дальше идет только цикл - который общий для всех потоков - то есть все потоки берут строку с профилем с одного и того же ресурса с удалением - переходят на страницу профиля пользователя - проверяют приниает ли он приглашения в группы - и если да - проверяем в группе он или нет - если нет - то приглашаем.

    Согласитесь - это очень простой - это супер мега фонарный алгоритм - который я тупая обезьяна делал целый месяц.
    Посмотрите на досуге
    0_1478736294193_123OK.rar

    И речь не идет о том, что бы вы в очередной раз показали как правильно использовать имеющиеся действия - а просто, чтобы проанализировали, что мне не хватило!!! и как сделать BAS лучше. И заметьте без обид - если бы я хотел помучиться - я бы юзаал то же хьюман...


  • administrators

    @Turutur

    Увы это не так! - и если оно так, то оно реализовано так, что как-то не так - без обид.

    Могу с вами поспорить. Это действительно так просто. И в том проекте, что я вам сделал так и происходит.

    А для чего они очищаются - если бы нужно было действие для очистки - его можно вызывать тогда когда оно нужно - а вот функция для настройки вначале работы скрипта с тем алгоритмом что я описал - была бы просто незаменима!

    Просто выполняйте действия по настройке браузера в начале работы потока, а не в OnApplicationStart.
    Если нужно сделать что-то 1 раз в начале работы скрипта - выполните это в OnAplicationStart и поместите результаты в глобальную переменную или ресурс, а потом читайте от туда в основном потоке. Пример тоже был.

    Потому что это не совсем понятный, долгий процесс

    Что именно не понятно? Что может быть проще, чем поставить {{users}} в коде?

    я верю в BAS - и то что пишу, трачу свое время - пытаюсь сделать его лучше - и я не пишу претензии, если так могло показаться - это предложения - ведь мы ведем двухстороннюю беседу - и BAS вы выложили не готовым, и продолжаете совершенствовать. И не нужно относится ко мне как к зануде - вы можете не отвечать на то что я пишу - и Вы должны согласится что не все просто как хотелось бы, как и я соглашаюсь с тем, что вы делаете очень сложную работу. Просто не забывайте, что на другой стороне ваших знаний - есть простые пользователи.

    Опять же не соглашусь с вами, все очень просто.
    Конкретных предложений от вас в этом сообщении кроме как поменять принцип работы OnApplicationStart я не вижу.

    Посмотрите на досуге
    0_1478736294193_123OK.rar

    Посмотрел. У меня ваш скрипт работает, вот результат.

    0_1478780996092_Result.png

    Возможно дело в том что вы вписали 1 акк и указали количество одновременных использований в 1 для пользователей?


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.