Запуск потоков по очереди с промежутком


  • Banned

    Помогите сделать такой странный фокус, не успеваю проходить авторизации во всех потоках, нужна пауза по очереди.

    Нужно сделать так. В ресурсе указать 60 сек
    Далее запустить 1 поток БЕЗ ПАУЗЫ
    Далее запускать каждый поток раз в 60 сек



  • @freeliman через ресурс это сработает если в нем только 1 элемент, в таком случае будет ожидание по 60 сек перед каждым использованием. Попробуй через глобальные переменные http://community.bablosoft.com/post/20218 или получать номер потока и THREAD_INDEX * 1000 в действии спать (тип данных у действия спать - expression)


  • Banned

    @venom777 а можно пример как это сделать ?



  • @freeliman Поиск рулит. Первая же ссылка.



  • @freeliman
    в ресурсе задается число потоков, которое должно одновременно выполнять заданную функцию
    0_1510411066720_upload-fba59133-e569-477f-876d-0a9d9d9e9f2f
    в OnApplicationStart
    0_1510411088961_upload-39495768-ed95-4310-98ae-28546262b26f задаем глобальную переменную равную нулю

    Теперь перед участком где будут действия, в вашем случае авторизация - вызываем функцию которая управляет очередью
    0_1510411162172_upload-7ce34bf0-80af-4f6b-90d8-8026ed959444

    Функция очереди hold_url_bots
    0_1510411427333_upload-f4d17ca7-84c0-4c88-a57b-14e36ebd2556
    И если выполняется условие, то цикл прерывается и продолжается авторизация при этом глобальную переменную нужно увеличить на 1.
    После вашей авторизации нужно уменьшить глобальную переменную на 1.
    0_1510411549520_upload-f591a49a-e60c-417f-a11e-3e8d617fa45c

    Об этой функции я уже где-то рассказывал кажется, а идею очереди вроде бы нашел на форуме, не помню уже.


  • Banned

    @Fox @venom777 не могу понять, какое решение выбрать ?

    Мне нужно чтобы заказчик ручками, через ресурс, указал количество секунд для паузы (60 сек)
    между потоками. первый поток без паузы, далее НЕ ОГРАНИЧЕННОЕ количество потоков, по очереди с паузой, запускал и успевал проходить авторизацию.

    Вот как бы такой бзык !



  • @freeliman с действием спать и номер потока будет проще всего


  • Banned

    @venom777 не могу понять что значит 10 что значит 15 ?

    мне надо 1,2,3, 4, 5


  • Banned

    А как сделать без паузы, просто по очереди запускать потоки ?



  • @freeliman никак

    Что сложного в конструкции Получить номер потока - Спать (номер потока - 1) *{ресурс с числом секунд паузы } * 1000 - Открыть браузер ?


  • Banned

    Да он поставил примеры с 10 потоками. Мне надо с 1 потоком, я запутался. В голове плов, не могу понять где начало а где конец.

    Это как носки вязать, от куда начинать с носка или пятки ?



  • @freeliman
    @venom777 предожил очень сложный вариант. Если сделать так как я написал - все будет так как ты хочешь, а именно каждый браузер будет открываться с нужной задержкой


  • Banned

    Ой а можешь примерчик сделать ?

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



  • @freeliman нет


  • Banned

    Ну тебя тоже не совсем ясно понятно. Получить номер потока, а куда вставлять, когда вставлять не понял. Примерно понял что вставлять.

    Дайте пример пожалуйста


  • Banned

    @DrPrime said in Запуск потоков по очереди с промежутком:

    @freeliman никак

    Что сложного в конструкции Получить номер потока - Спать (номер потока - 1) *{ресурс с числом секунд паузы } * 1000 - Открыть браузер ?

    В какой конструкции получить номер потока ?



  • @freeliman юзай поиск по программе, я тебе уже показывал где поиск в проге находится


  • Banned

    я понимаю что вам лень написать ответ на мой вопрос и вы решили что мне лень юзать поиск, на самом деле это не так, я сперва юзаю поиск, а если что не понятно, создаю тему, как меня научили почти год назад.

    если не хотите помогать, с толку хотя бы не сбивайте !



  • @freeliman
    я имею ввиду этот поиск
    http://prntscr.com/h957gi
    насчет поиска по форуму, лично нашел 5 тем где описывается вопрос их этой темы, еще 5 - которые ссылаются на них. В некоторых даже есть примеры скриптов.


  • Banned

    Вот что я понял из того что вы мне написали. Как написали, так и понял !

    в конструкции Получить номер потока - Спать (номер потока - 1) *{ресурс с числом секунд паузы } * 1000 - Открыть браузер
    

    0_1510420914251_Скриншот -  11, 2017 8.21 PM.png

    Этот вариант не работает


Log in to reply