https://community.bablosoft.com/post/130886
сможешь помочь реализовать?
Как перезапускать скрипт автоматически?
-
-
@stamp said in Как перезапускать скрипт автоматически?:
Хреново, когда картинки не грузятся)) https://i.imgur.com/1JmBuic.png
-
@999tac said in Как перезапускать скрипт автоматически?:
@stamp какие кнопки нажимать? Где?
Вы о чём?
-
так это у меня заполнено , успешные и неуспешные выполнения , но у меня скрипт работает с циклом который отрабатывает 20 раз , ждет и снова выполняет цикл , я придумал способ сделать if если переменная которая считает выполнения цикла более 200 , тоесть 10 выполнений цикла , скрипт стопается .
проблема в том что в басе можно перезапустить поток с помощью Fail , или завершить поток с успехом , тогда он тоже перезапустится, но мне нужно закончить с успехом все потоки сразу чтоб они сначала начали выполняться , так как если перезапускается поток 3 к примеру то он запрашивает в ресурсе аккаунт, и не может екго получить так как берет видимо первую строку , а должен 3
-
@stamp said in Как перезапускать скрипт автоматически?:
так это у меня заполнено , успешные и неуспешные выполнения , но у меня скрипт работает с циклом который отрабатывает 20 раз , ждет и снова выполняет цикл , я придумал способ сделать if если переменная которая считает выполнения цикла более 200 , тоесть 10 выполнений цикла , скрипт стопается .
проблема в том что в басе можно перезапустить поток с помощью Fail , или завершить поток с успехом , тогда он тоже перезапустится, но мне нужно закончить с успехом все потоки сразу чтоб они сначала начали выполняться , так как если перезапускается поток 3 к примеру то он запрашивает в ресурсе аккаунт, и не может екго получить так как берет видимо первую строку , а должен 3
Я бы порекомендовал всё же пересмотреть логику и решить необходимую задачу без перезапуска скрипта.
Полностью перезапустить скрипт можно запустив в нём себя же через действие "Запустить Процесс", а затем сразу завершить исходный скрипт действием "Прервать Скрипт". Если запускать скрипт с флагом--silentто скрипт после остановки завершится полностью закрыв приложение. -
траблы можно решить без перезапуска 1 путем , отсюда следующий вопрос
как из ресурса из файла назначить каждому потоку свою строку , первый поток берет 1 строку и т.д по очереди , и когда поток перезапускается он снова берет только свою строкукак можно так сделать?
-
@stamp said in Как перезапускать скрипт автоматически?:
траблы можно решить без перезапуска 1 путем , отсюда следующий вопрос
как из ресурса из файла назначить каждому потоку свою строку , первый поток берет 1 строку и т.д по очереди , и когда поток перезапускается он снова берет только свою строкукак можно так сделать?
Можно что угодно сделать. Вы бы объяснили изначальную задачу, нашли бы нормальное решение. Это лучше чем городить огород.
-
@stamp said in Как перезапускать скрипт автоматически?:
изначальная задача перезапуск скрипта в автоматическом режиме средствами бас , вы порекомендовали обойтись без этого , и я исходя из этого начал городить огород , в поисках решения , все логично)
Перезапуск скрипта в автоматическом режиме средствами BAS это конечная задача, а не изначальная. Объясните зачем вам это необходимо
-
@stamp самый простой вариант перейти в начало скрипта при помощи метки и там сбрасывать браузер. При этом в конце скрипта до перехода ставить Спать для паузы. При желании можно создать расписание зависящее от текущего времени. То есть текстовый файл в котором содержится время запуска, скрипт регулярно обращается к нему, если время наступило переходит в начало.
-
@fox при работе скрипта появляются некоторые ошибки , некоторые из них тормозят поток , и он выпадает из работы что не есть хорошо , ошибки отловить не получается так как нужно длительное время сидеть следить .
идеальным вариантом для моего уровня знаний является каждые 200 выполнений перезапускать весь скрипт , тогда вероятность выхода из строя потока очень мала , и мне не нужно постоянно руками перезапускать скрипт .
ясделал перезапуск потока при определенном условии , но когда перезапускается поток он не может получить данные из ресурса , вероятно потому что они заняты другими потоками , и тут вариант либо решить как перезапускать весь скрипт бесконечное количество раз , так как он работает 24/7 , либо решить чтоб каждому потоку из ресурса файл назначалась своя строка .
это можно сделать при помощи ресурса строка , но это не вариант , данные время от времени меняются и это будет очень неудобно.
-
@stamp said in Как перезапускать скрипт автоматически?:
@fox при работе скрипта появляются некоторые ошибки , некоторые из них тормозят поток , и он выпадает из работы что не есть хорошо , ошибки отловить не получается так как нужно длительное время сидеть следить .
идеальным вариантом для моего уровня знаний является каждые 200 выполнений перезапускать весь скрипт , тогда вероятность выхода из строя потока очень мала , и мне не нужно постоянно руками перезапускать скрипт .
это можно сделать при помощи ресурса строка , но это не вариант , данные время от времени меняются и это будет очень неудобно.
Используйте опцию "жадный алгоритм" в свойстве ресурса. Тогда поток после перезапуска возьмёт эту же строку.
ясделал перезапуск потока при определенном условии , но когда перезапускается поток он не может получить данные из ресурса , вероятно потому что они заняты другими потоками
Вы бы скинули скриншот настроек ресурса
-
жадный алгоритм пробовал , тогда 3 поток берет первую строку ,
и разобрался почему раньше при запуске не брало строки, успешных использований стояло 1)теперь акки берет но в разноброс , тоесть какой поток успел первый дойти до перезапуска того и первая строка.
я думал над реализацией такой , спарсить из файла 4 строки как нибудь по номеру , и записать их в переменные , потом каждому потоку свою переменную
ноэто надо будет для 3 файлов делатьнастройки ресурса
http://prntscr.com/ndkl8j
http://prntscr.com/ndklny -
@stamp said in Как перезапускать скрипт автоматически?:
жадный алгоритм пробовал , тогда 3 поток берет первую строку ,
и разобрался почему раньше при запуске не брало строки, успешных использований стояло 1)теперь акки берет но в разноброс , тоесть какой поток успел первый дойти до перезапуска того и первая строка.
я думал над реализацией такой , спарсить из файла 4 строки как нибудь по номеру , и записать их в переменные , потом каждому потоку свою переменную
ноэто надо будет для 3 файлов делатьнастройки ресурса
http://prntscr.com/ndkl8j
http://prntscr.com/ndklnyОшибочных использований сделай тоже
9999(иначе поток после неудачного завершения возьмёт не эту, а следующую строку), а чтобы каждый поток брал по очереди ресурс, используй действие "Спать", в нём номер потока умнож на 1000
-
так каждый поток изначально и берет по очереди строку , но в процессе работы они перезапускаются не по порядку , может перезапуститься сначала 4 потом 2 , в таком случае 4 поток берет 1 строку , и это ломает всю систему)
я все больше склоняюсь к варианту назначить каждому потоку свою строку , но хз как это сделать если ресурс файл