Возможно ли так получать глобальную переменную?

Поддержка
  • @Fox said in Возможно ли так получать глобальную переменную?:

    Немного понятнее. Для чего обновлять настройки браузера? Ведь если сменился ip, то работу лучше прекратить и начать по новой. В этом плане идеально подходит асинхронный вызов функции

    Хорошо. Сейчас опишу подробно

    Берем урл. Загружаем в браузере. Далее 150 кубиков неких действий с урл/браузером. Манипуляции которые в 1 сек не уложить. Нужно делать что то 5 сек, что то 30 сек, что то 3 минуты.
    ps то что больше 5 сек можно зациклить по 5 сек, чтобы если нужно что то делать между циклами делалось.... но это не важно....

    Вопрос только в том
    Как в данном случае своевременно получать инфу о том что ip сменился и прерывать поток?

  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    Немного понятнее. Для чего обновлять настройки браузера? Ведь если сменился ip, то работу лучше прекратить и начать по новой. В этом плане идеально подходит асинхронный вызов функции

    Хорошо. Сейчас опишу подробно

    Берем урл. Загружаем в браузере. Далее 150 кубиков неких действий с урл/браузером. Манипуляции которые в 1 сек не уложить. Нужно делать что то 5 сек, что то 30 сек, что то 3 минуты.
    ps то что больше 5 сек можно зациклить по 5 сек, чтобы если нужно что то делать между циклами делалось.... но это не важно....

    Вопрос только в том
    Как в данном случае своевременно получать инфу о том что ip сменился и прерывать поток?

    При асинхронном вызове функции вы можете прервать поток из вне. В первом потоке вы вызываете необходимое количество функций в цикле и записываете их id в массив. Далее циклом проверяете внешний ip, если ip сменился, прерываете необходимые функции по id и запускаете их снова уже с новыми данными (ip и другую информацию можно передать через атрибуты функции, это проще, чем через глобальную переменную)

  • @Fox Хорошо.
    А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
    В таком случае надо обновить настройки браузера, но продолжить работу потока.

  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox Хорошо.
    А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
    В таком случае надо обновить настройки браузера, но продолжить работу потока.

    в таком случае только циклическая проверка с глобальной переменной

  • @Fox said in Возможно ли так получать глобальную переменную?:

    @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox Хорошо.
    А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
    В таком случае надо обновить настройки браузера, но продолжить работу потока.

    в таком случае только циклическая проверка с глобальной переменной

    Как в данном случае своевременно получать инфу о том что ip сменился ? Только гадать, поставить через каждый кубик получение инфы о глобальной переменной?

  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox Хорошо.
    А если поток нельзя прерывать при условии что урл загружен в браузер - это усложняет задачу?
    В таком случае надо обновить настройки браузера, но продолжить работу потока.

    в таком случае только циклическая проверка с глобальной переменной

    Как в данном случае своевременно получать инфу о том что ip сменился ? Только гадать, поставить через каждый кубик получение инфы о глобальной переменной?

    Давайте рассуждать логически, вам нужно в зависимости от значения переменной произвести какие то действия, так? Значит что то должно периодически сверять глобальную и локальную переменную.
    Например есть функция _sa(), которая вызывается после каждого действия автоматически, эту функцию можно изменить и вставить в неё прерывание потока в зависимости от условия. Но это сработает только в режиме "запуска", а в режиме "записи" просто повесит BAS.

    Мне подсказывает опыт, что задача решается не с того конца. Проще было бы самому менять внешний ip, когда отработали потоки.

  • @Fox

    Проще было бы самому менять внешний ip, когда отработали потоки.

    Да. Но это дорого.

  • @Fox said in Возможно ли так получать глобальную переменную?:

    Например есть функция _sa(), которая вызывается после каждого действия автоматически, эту функцию можно изменить и вставить в неё прерывание потока в зависимости от условия. Но это сработает только в режиме "запуска", а в режиме "записи" просто повесит BAS.

    1. нельзя прерывать поток, если браузер открыт, обязательно надо довести до завершения, проделав все этапы.
    2. что за функция sa, которая вызывается автоматически после каждого действия? я думаю мне бы это подошло. Она бы вызывала ip.bablosoft и чекала то что нужно. Если произошла смена, цеплялась бы перенастройка браузера.
  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    Например есть функция _sa(), которая вызывается после каждого действия автоматически, эту функцию можно изменить и вставить в неё прерывание потока в зависимости от условия. Но это сработает только в режиме "запуска", а в режиме "записи" просто повесит BAS.

    1. нельзя прерывать поток, если браузер открыт, обязательно надо довести до завершения, проделав все этапы.

    Только проверка в цикле, последующую полемику считаю бессмысленой

    1. что за функция sa, которая вызывается автоматически после каждого действия? я думаю мне бы это подошло. Она бы вызывала ip.bablosoft и чекала то что нужно. Если произошла смена, цеплялась бы перенастройка браузера.

    Я уже писал о том, что это синхронная функция (в теме лайфхаках упоминали о ней). То есть в неё нельзя поместить действия код которых заканчивается на восклицательный знак !. Действие "fail" так же является синхронным, но при помещении этого метода в функцию, в режиме "записи" BAS зависает.
    @support уже писал о том, что подобные ошибки не будут поддерживаться, что стоит использовать кубики.

  • @Fox короче решения нет. тех кто возьмется сделать за оплату тоже нет.
    ясно, спасибо

  • @Fox said in Возможно ли так получать глобальную переменную?:

    Только проверка в цикле, последующую полемику считаю бессмысленой

    Я вообще не понимаю, понял ли ли Вы что я хочу сделать.
    Своевременную перенастройку браузера, на случай если ip сменился и браузер отрыт. Проверка в цикле сменился ip или нет = это и школьнику понятно. ip сменился пишет в глоб переменную новое значение.

    Речь была только о том, как организовать скрипт дальше. Как часто внутри потока (через каждый кубик, через каждые 2 кубика) проверять изменилась ли глоб переменная и если изменилась то сделать то что нужно...

    тема была создана есть ли возможность получать сигнал о таком изменении не обращаясь к глоб перем

  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    Только проверка в цикле, последующую полемику считаю бессмысленой

    Я вообще не понимаю, понял ли ли Вы что я хочу сделать.
    Своевременную перенастройку браузера, на случай если ip сменился и браузер отрыт. Проверка в цикле сменился ip или нет = это и школьнику понятно. ip сменился пишет в глоб переменную новое значение.

    Речь была только о том, как организовать скрипт дальше.

    Я говорил о проверке внутри выполняемой функции

    Как часто внутри потока (через каждый кубик, через каждые 2 кубика) проверять изменилась ли глоб переменная и если изменилась то сделать то что нужно...

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

    тема была создана есть ли возможность получать сигнал о таком изменении не обращаясь к глоб перем

    Да тут как душе угодно, можете передавать ip адрес через ресурс, или через файл, или внутри функции в каждом потоке через каждое действие ставить http проверку внешнего ip..

    Я, если честно, не понимаю, как вы себе подобную логику вообще представляете? Вот ваша функция внутри потока выполняет действия и в какой то момент она останавливается, выполняет необходимые вам дополнительные действия и возвращается обратно на то же место?

  • @Fox можно я приложу скрипт сюда. Но если Вы посмотрите. Я просто так не хочу делать скрипт чтобы он тут висел, как я делал в другой ветке @FastSpace и он там повис без ответа ( а делал я его пол часа, что то не пошло тогда). :)

  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox можно я приложу скрипт сюда. Но если Вы посмотрите. Я просто так не хочу делать скрипт чтобы он тут висел, как я делал в другой ветке @FastSpace и он там повис без ответа ( а делал я его пол часа, что то не пошло тогда). :)

    А смысл мне его смотреть? Для чего

  • @Fox said in Возможно ли так получать глобальную переменную?:

    А смысл мне его смотреть? Для чего

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

  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    А смысл мне его смотреть? Для чего

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

    Да почему все вокруг считают, что для меня их задачи раз-плюнуть?

  • @Fox said in Возможно ли так получать глобальную переменную?:

    @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    А смысл мне его смотреть? Для чего

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

    Да почему все вокруг считают, что для меня их задачи раз-плюнуть?

    ))))
    На самом деле, вот у меня идет 100 кубиков взаимодействия со страницей.
    Мне после каждого кубика ставить чек ip и сверять со старым (вынести в функйию можно, да) не хочется.
    А решение я не понял.

  • @Fox said in Возможно ли так получать глобальную переменную?:

    Я, если честно, не понимаю, как вы себе подобную логику вообще представляете? Вот ваша функция внутри потока выполняет действия и в какой то момент она останавливается, выполняет необходимые вам дополнительные действия и возвращается обратно на то же место?

    асинхронная функция работает в параллеле с потоком (потоками), следит за сменой ip. опрашивает ip например раз в 5 сек.
    если ip сменился функция дает ответ "да".
    Но что бы его получить в поток что нужно делать???

    • к ней нужно обращаться, и все так же после каждого кубика. это гимор
  • @kuzkuz said in Возможно ли так получать глобальную переменную?:

    @Fox said in Возможно ли так получать глобальную переменную?:

    Я, если честно, не понимаю, как вы себе подобную логику вообще представляете? Вот ваша функция внутри потока выполняет действия и в какой то момент она останавливается, выполняет необходимые вам дополнительные действия и возвращается обратно на то же место?

    асинхронная функция работает в параллеле с потоком (потоками), следит за сменой ip. опрашивает ip например раз в 5 сек.
    если ip сменился функция дает ответ "да".
    Но что бы его получить в поток что нужно делать???

    • к ней нужно обращаться, и все так же после каждого кубика. это гимор

    Вы описали правильную логику ваших мыслей. Я предлагал использовать асинхронные функции по другому, основной поток запускает рабочие функции через запуск асинхронных функций и проверяет смену ip в цикле. Как только ip сменился, этот основной поток останавливает работу асинхронных функций по их id (которые разумеется нужно записать при их старте)

  • @Fox said in Возможно ли так получать глобальную переменную?:

    Как только ip сменился

    основной поток останавливает работу асинхронных функций по их id (которые разумеется нужно записать при их старте)

    и возобновляет с того же места после того как выполнит у себя там нужные действия? я не понимаю