@gurkin4 said in Как сделать "вечный скрипт"?:
@UserTrue Вечный? Даже комп имеет свой срок жизни!
По неделе! Ха, я уже около года кручу, перегружал только для обновления ОС, но это далеко не вечность!
Понятно , опять ценные 5 копеек
@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 строку , и это ломает всю систему)
я все больше склоняюсь к варианту назначить каждому потоку свою строку , но хз как это сделать если ресурс файл
@stamp said in Как перезапускать скрипт автоматически?:
так каждый поток изначально и берет по очереди строку , но в процессе работы они перезапускаются не по порядку , может перезапуститься сначала 4 потом 2 , в таком случае 4 поток берет 1 строку , и это ломает всю систему)
я все больше склоняюсь к варианту назначить каждому потоку свою строку , но хз как это сделать если ресурс файл
Можно реализовать через метод RMap()
RMap("res").at([[THREAD_INDEX]]-1)

в цикле стоит случайный сон от 1 до 3 секунд, так же стоит условие срабатывающее в 30% случаев вызывая случайный перезапуск.
В режиме "запуска" видно, что каждый поток берёт только свою строку в 100% случаев:
