Загрузка...

BAS Browser Automation Studio Как нормально сделать несколько потоков?

Тема в разделе Private Keeper, BAS, OB создана пользователем elik5424 2 дек 2021. 1577 просмотров

  1. elik5424
    elik5424 Автор темы 2 дек 2021 Здравствуйте! Улыбнитесь! 264 20 май 2017
    Есть переменная, повышается с каждым кругом на 1 единицу.
    Всего значений может быть бесконечно, по этому поделить каждый поток по 500 или 1000 не вариант.
    Как сделать чтобы первый поток увеличить данную переменную и, затем другой поток увеличил переменную. (Хотя это не возможно так как ни могут одновременно увеличить данную переменную.)
    То есть мне необходимо быстро перебирать все значения, в 1 потоке это понятно. Но как 2 и более потоков сделать?
    На сколько я понимаю сам проект надо положить в функцию .
    Разбить по файлам не вариант, так как значение переменной стремиться к бесконечности.
    [IMG]

    Код
    <?xml version="1.0" encoding="UTF-8"?>
    <BrowserAutomationStudioProject>
    <Script><![CDATA[section(1 /*1*/,1 /*1*/,1 /*1*/,0,function(){
    section_start("\u007b\u0022n\u0022:\u0022Initialize\u0022\u007d", 0)!

    section_end()!

    _call(_on_start, null)!

    section_start("", 953102569)!
    /*Dat:eyJzIjoic2V0dmFyaWFibGUiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiU2V0VmFyaWFibGVOYW1lIiwidHlwZSI6InZhciIsImRhdGEiOiJORVdfVkFSSUFCTEUifSx7ImlkIjoiU2V0VmFyaWFibGVWYWx1ZSIsInR5cGUiOiJjb25zdHIiLCJkYXRhIjoiMSIsImNsYXNzIjoic3RyaW5nIn1dfQ==*/
    VAR_NEW_VARIABLE = "1"
    section_end()!

    section_start("", 589364923)!
    /*Dat:eyJzIjoibGFiZWwiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiTGFiZWwiLCJ0eXBlIjoiY29uc3RyIiwiZGF0YSI6ImxhYmVsIG5hbWUgNzg0NCIsImNsYXNzIjoic3RyaW5nIn1dfQ==*/
    _set_goto_label("label name 7844")!
    section_end()!

    section_start("", 369548580)!
    /*Dat:eyJzIjoiaW5jdmFyaWFibGUiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiU2V0VmFyaWFibGVOYW1lIiwidHlwZSI6InZhciIsImRhdGEiOiJORVdfVkFSSUFCTEUifSx7ImlkIjoiSW5jVmFyaWFibGVWYWx1ZSIsInR5cGUiOiJjb25zdHIiLCJkYXRhIjoiMSIsImNsYXNzIjoiaW50In1dfQ==*/
    VAR_NEW_VARIABLE = parseInt(VAR_NEW_VARIABLE) + parseInt(1)
    section_end()!

    section_start("", 538842626)!
    /*Dat:eyJzIjoibG9hZCIsInYiOjEsImYiOltdLCJ1dyI6IjEiLCJ1dCI6IjAiLCJ1dG8iOiIwIiwidW0iOiIwIiwiZCI6W3siaWQiOiJMb2FkVXJsIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJodHRwczovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPVtbTkVXX1ZBUklBQkxFXV0iLCJjbGFzcyI6InN0cmluZyJ9LHsiaWQiOiJSZWZlcnJlciIsInR5cGUiOiJjb25zdHIiLCJkYXRhIjoiIiwiY2xhc3MiOiJzdHJpbmcifV19*/
    _load("https://www.google.com/search?q=" + VAR_NEW_VARIABLE, "", false)!
    section_end()!

    section_start("", 724914273)!
    /*Dat:eyJzIjoidXJsIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IlNhdmVVcmwiLCJ0eXBlIjoidmFyIiwiZGF0YSI6IkNVUlJFTlRfVVJMIn1dfQ==*/
    /*Browser*/
    url()!
    VAR_CURRENT_URL = _result()
    section_end()!

    section_start("", 555530049)!
    /*Dat:eyJzIjoibG9nIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IkxvZ1RleHQiLCJ0eXBlIjoiY29uc3RyIiwiZGF0YSI6IltbQ1VSUkVOVF9VUkxdXSIsImNsYXNzIjoic3RyaW5nIn1dfQ==*/
    log(VAR_CURRENT_URL)
    section_end()!

    section_start("", 65746556)!
    /*Dat:eyJzIjoiZ290byIsInYiOjEsImYiOltdLCJ1dyI6IjAiLCJ1dCI6IjAiLCJ1dG8iOiIwIiwidW0iOiIwIiwiZCI6W3siaWQiOiJMYWJlbE5hbWUiLCJ0eXBlIjoidGV4dCIsImRhdGEiOiJsYWJlbCBuYW1lIDc4NDQifV19*/
    _long_goto("label name 7844", -1, [])!
    section_end()!

    })!]]></Script>
    <ModuleInfo><![CDATA[{
    }
    ]]></ModuleInfo>
    <Modules/>
    <EmbeddedData><![CDATA[[]]]></EmbeddedData>
    <DatabaseId>Database.24905</DatabaseId>
    <Schema></Schema>
    <ConnectionIsRemote>false</ConnectionIsRemote>
    <ConnectionServer></ConnectionServer>
    <ConnectionPort></ConnectionPort>
    <ConnectionLogin></ConnectionLogin>
    <ConnectionPassword></ConnectionPassword>
    <ScriptName>ScriptName</ScriptName>
    <ProtectionStrength>4</ProtectionStrength>
    <UnusedModules>JSON;URL;PhoneVerification;Path;String;ClickCaptcha</UnusedModules>
    <ScriptIcon>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</ScriptIcon>
    <IsCustomIcon>false</IsCustomIcon>
    <HideBrowsers>false</HideBrowsers>
    <IntegrateScheduler>false</IntegrateScheduler>
    <SingleInstance>false</SingleInstance>
    <CopySilent>false</CopySilent>
    <IsEnginesInAppData>false</IsEnginesInAppData>
    <CompileType>NoProtection</CompileType>
    <ScriptVersion>1.0.0</ScriptVersion>
    <AvailableLanguages>en,ru</AvailableLanguages>
    <EngineVersion>24.3.1</EngineVersion>
    <SettingsWorker>EnableFlash=false
    EnableWidevine=false
    AutostartDebug=false
    SaveBrowserLog=false
    ProfilesCaching=true
    ToolboxHeight=286
    MaxBrowserStartSimultaneously=3
    MinFreeMemoryToStartBrowser=1500
    MinUnusedCpu=35
    ScenarioWidth=500
    Zoom=100
    IsMaximized=false
    Restart=true
    UseHumanLikeMouseMoves=true
    DebugToolbox=false
    DebugScenario=false
    Languages=&quot;&quot;
    Modules=&quot;&quot;
    Canvas=&quot;disable&quot;
    CanvasNoise=&quot;&quot;
    Audio=&quot;disable&quot;
    QUIC=&quot;disable&quot;
    AudioNoise=&quot;&quot;
    MaxFPS=30
    Webrtc=&quot;disable&quot;
    WebrtcIps=&quot;&quot;
    Webgl=&quot;disable&quot;
    WebglNoise=&quot;&quot;
    WebglRenderer=&quot;&quot;
    WebglVendor=&quot;&quot;
    Detector=true
    </SettingsWorker>
    <ChromeCommandLine>--disk-cache-size=1
    --disable-gpu-program-cache
    --disable-gpu-shader-disk-cache
    --disable-component-update
    --disable-features=GpuProcessHighPriorityWin,GpuUseDisplayThreadPriority
    --lang=en
    --disable-auto-reload</ChromeCommandLine>
    <ModulesMetaJson>{
    &quot;Archive&quot;: false,
    &quot;Checksum&quot;: false,
    &quot;Excel&quot;: false,
    &quot;FTP&quot;: false,
    &quot;FunCaptcha&quot;: false,
    &quot;HCaptcha&quot;: false,
    &quot;ReCaptcha&quot;: false,
    &quot;SQL&quot;: false,
    &quot;SmsReceive&quot;: false
    }
    </ModulesMetaJson>
    <OutputTitle1 ru="First Results" en="First Results"/>
    <OutputTitle2 ru="Second Results" en="Second Results"/>
    <OutputTitle3 ru="Third Results" en="Third Results"/>
    <OutputTitle4 ru="Fourth Results" en="Fourth Results"/>
    <OutputTitle5 ru="Fifth Results" en="Fifth Results"/>
    <OutputTitle6 ru="Sixth Results" en="Sixth Results"/>
    <OutputTitle7 ru="Seventh Results" en="Seventh Results"/>
    <OutputTitle8 ru="Eighth Results" en="Eighth Results"/>
    <OutputTitle9 ru="Ninth Results" en="Ninth Results"/>
    <OutputVisible1>1</OutputVisible1>
    <OutputVisible2>1</OutputVisible2>
    <OutputVisible3>1</OutputVisible3>
    <OutputVisible4>0</OutputVisible4>
    <OutputVisible5>0</OutputVisible5>
    <OutputVisible6>0</OutputVisible6>
    <OutputVisible7>0</OutputVisible7>
    <OutputVisible8>0</OutputVisible8>
    <OutputVisible9>0</OutputVisible9>
    <ModelList/>
    </BrowserAutomationStudioProject>
    Буду благодарен если на примере это покажите как сделать!
     
  2. PeaceDeath
    Если вариант с добавлением элементов в ресурс (даже в самом скрипте через действие "Создать ресурс", а после "Добавить элемент") не подходит, то по такому описанию можно воспользоваться глобальной переменной (не знаю, насколько она thread safe). Т.е. делаешь основную функцию для инициализации, где объявляешь эту глобальную переменную, и в ней с помощью "Логика скрипта" - "Вызов функции в несколько потоков" запускаешь скрипт с самой логикой работы, который будет использовать и инкрементить эту глобальную переменную.
    И на всякий напомню, что BAS говорит
     
    1. elik5424 Автор темы
      @PeaceDeath, Спасибо. То что искал!
Загрузка...
Top