Закрыть принудительно поток

Поддержка
  • получаеться дело не совсем в потоках...
    вот скрин - запущен 1 поток а браузеров 4.... даже если ручками удалить хтмл, а потом опять открыть инспекотр браузеров, он покажет 4, а теоретически должно быть 1

    0_1571744282991_bassss.PNG

  • @vitsh1974 said in Закрыть принудительно поток:

    получаеться дело не совсем в потоках...
    вот скрин - запущен 1 поток а браузеров 4.... даже если ручками удалить хтмл, а потом опять открыть инспекотр браузеров, он покажет 4, а теоретически должно быть 1

    Функции могут работать без эмуляции браузера, но вот эмуляция браузера ни как не может работать без потока. Что вы хотите сделать то?

  • @fox
    вот у меня такой код ( может чего то не хватает?
    да все верно -- у меня есть ряд вызовов без браузера...
    может они как то влияние оказывают.
    если они - то хотелось бы их исключить .... ето простые гет запросы на получнеие даннх

    /////Browser started, need to update running browser label
    if (EventType == "browser_add") {
    let CurrentValue = parseInt($("#BrowserNumber").html())
    $("#BrowserNumber").html((CurrentValue + 1).toString())

            /////Add browser to viewer
           AddBrowser(EventData["browser_id"], EventData["thread_number"])
        }
    
        /////Browser finished, need to update running browser label
        if (EventType == "browser_remove") {
            let CurrentValue = parseInt($("#BrowserNumber").html())
            $("#BrowserNumber").html((CurrentValue - 1).toString())
    
            /////Remove browser from viewer
           RemoveBrowser(EventData["browser_id"], EventData["thread_number"])
        }
    

    т е в конечном итоге мне не надо показывать ети кнопки при нажатии на которую будет екаранчик с
    Image unavailable. Possibly browser is closed.

  • @vitsh1974 said in Закрыть принудительно поток:

    @fox
    вот у меня такой код ( может чего то не хватает?
    да все верно -- у меня есть ряд вызовов без браузера...
    может они как то влияние оказывают.
    если они - то хотелось бы их исключить .... ето простые гет запросы на получнеие даннх

    /////Browser started, need to update running browser label
    if (EventType == "browser_add") {
    let CurrentValue = parseInt($("#BrowserNumber").html())
    $("#BrowserNumber").html((CurrentValue + 1).toString())

            /////Add browser to viewer
           AddBrowser(EventData["browser_id"], EventData["thread_number"])
        }
    
        /////Browser finished, need to update running browser label
        if (EventType == "browser_remove") {
            let CurrentValue = parseInt($("#BrowserNumber").html())
            $("#BrowserNumber").html((CurrentValue - 1).toString())
    
            /////Remove browser from viewer
           RemoveBrowser(EventData["browser_id"], EventData["thread_number"])
        }
    

    Зачем вам создавать потоки и управлять его жизнью вручную? Используйте простой вызов функции:

    Api.RunFunction("LoadUrl", {Url: "ip.bablosoft.com"})
    

    Если нужно получить результат вызова:

    var Result = await Api.RunFunction("LoadUrl", {Url: "ip.bablosoft.com"})
    console.log("Page content is " + Result)
    

    Если возможна ошибка во время выполнения:

    try
    {
        var Result = await Api.RunFunction("LoadUrl", {Url: "ip.bablosoft.com"})
        console.log("Page content is " + Result)
    }catch(e)
    {
        console.log("Function finished with error " + e)
    }
    

    В мануале всё подробно расписано

  • все таки хотелось бы поподробнее про
    InitBrowserViewer(); узнать
    ее параметры и что на что влияет... вероятно ето то ли я что то неправильно делаю, то ли какой то бок.. так как реально получаеться что вроде как 1 поток 1 браузер, а висит 4 кнопки ( хотелось бы чтобы 1)

    0_1571747480685_sk1.PNG

    возможно идут какие то бока ( были же -- утечка мозгов... може что то не допилили? могу тиам дать

  • @vitsh1974 said in Закрыть принудительно поток:

    все таки хотелось бы поподробнее про
    InitBrowserViewer(); узнать
    ее параметры и что на что влияет... вероятно ето то ли я что то неправильно делаю, то ли какой то бок.. так как реально получаеться что вроде как 1 поток 1 браузер, а висит 4 кнопки ( хотелось бы чтобы 1)

    возможно идут какие то бока ( были же -- утечка мозгов... може что то не допилили? могу тиам дать

    Как показывает практика по TeamViewer редко удаётся решить проблему. Создайте тестовый интерфейс с проблемой, экспортируйте и приложите его здесь в сообщении

  • пробовал вызывать Api.RemoveBrowser(4323)

    да вроде как процесс ушел, но кнопочка показать браузер осталась

  • @vitsh1974 said in Закрыть принудительно поток:

    пробовал вызывать Api.RemoveBrowser(4323)

    да вроде как процесс ушел, но кнопочка показать браузер осталась

    А куда она должна деться? Вы ведь просто скрываете браузер

  • Верстка сама не сверстается ))

  • вот код, фиксации утечек
    GetBrowsers = Api.GetBrowsers();
    GetTasks = Api.GetTasks();

    Object.values(GetBrowsers).forEach(function (Task) {
    //Api.HideBrowser(Task.browser_id);
    // console.log(Task);

    aa = _.where(GetTasks, {
            browser_id: Task.browser_id
        });
    
    console.log(aa.length + '  ' + Task.task_id + ' ' + Task.browser_id);
    if (aa.length == 0) {
        Api.RemoveTask(Task.task_id);
        Api.Send("stop_thread", {
            thread_id: Task.task_id
        });
    }
    //  Api.RemoveTask(Task.task_id)
    //		  Api.Send("stop_thread", {thread_id: Task.task_id})
    

    })