Проблемы с запуском БАС с командной строки



  • Есть скомпилированый бот. запускаю его через командную строку командой

    RemoteExecuteScript.exe --silent
    

    Раньше все работало нормально. Сегодня начало появлятся окно выбора языка.
    alt text

    Как победить? Нужно чтоб бот сразу запускался.

    Еще заметил что автономные скомпилированные боты автоматически обновляются как выходит новая версия БАС. Может в этом причина? Есть ли возможность отключить автообновление?



  • Вот нашел папочку куда мой скомпилированный бот походу складывает автообновление БАСа
    alt text

    Походу из-за последней одновы у меня выскакивает это окно с выбором языка, хотя ведь запускаю с командной строки в тихом режиме!

    Вот скажите зачем на скомпилированных ботах автообновление? Я ведь написал скрипт под ту версию что мне нужно, скомпилировал автономный бот и запускаю на серваке. А тут с каждым автообновлением выходит могут быть сюрпризы которые ломают всю работу!

    Если мне нужен будет бот под новую версию я в любой момент его себе перекомпилирую!



  • Еще заметил что в папке appslocal нет папки с которой я грузил свой бот на сервак изначально. Вот у меня там сейчас 4 папки, как видно выше на скрине. Они сами там со временем появились. А я изначально грузил бот с папкой SID918b319cdeaf8e24c239230e8859be67767b17534da35b727391227d0b5e649b

    Проясните эту ситуацию пожалуйста.



  • up



  • @Gang

    Если мне нужен будет бот под новую версию я в любой момент его себе перекомпилирую!

    Софт обновляется из-за того, что project.xml заменяется на тот, который собран в новой версии БАС.
    Если хотите, чтоб софт не обновлялся обновляйте project.xml так, чтобы он был собран в старой версии.
    Появление окошка выбора языка в режиме silent - это баг. Сейчас исправлю.



  • @Gang

    Проясните эту ситуацию пожалуйста.

    При замене project.xml софт меняет хеш, который идет после SID и переносит все созданные файлы в новую папку.



  • Кстати, то что там осталось 4 папки означает означает что 3 раза БАС не удалось удалить старые папки, возможно потому что проект был запущен. Отсюда наверно и окно с языком, у меня оно не появляется.



  • Спасибо за ваш ответ! Теперь прояснилась ситуация. Вообще-то у меня сейчас скомпилированый бот БАСа пашет на 7 серверах. Я через единую веб-панель управления раскидываю периодически всем ботам новые файлы шаблонов. Также делаю периодические ребуты так как бот зависает чето в многопотоке время от времени.

    Можете порекомендовать как мне оптимизировать мою систему более менее чтоб таких косяков не вылазило? Как мне грамотно раскидывать файл шаблона по копиям БАС чтоб папки с хешем нормально удалялись и ничего не обновлялось? То что нужно править скрипт в той версии в которой скомпилирован работающий бот я понял.

    И еще режим сайлент и окошко выбора языка, это все таки баг или из-за того что папки хешей не удалились? Что я могу сделать чтоб они удалялись вовремя?



  • @Gang

    зависает чето в многопотоке время от времени

    Возможно поможет запускать новые браузеры только в том случае если в системе есть достаточно оперативки свободно. Сейчас это можно проверять через апи

    memory_virtual_available()
    memory_physical_available()
    

    Ждать пока не будет 1 гб свободно:

    wait_memory(1000000000)!
    

    Как мне грамотно раскидывать файл шаблона по копиям БАС чтоб папки с хешем нормально удалялись и ничего не обновлялось?

    Перед обновлением убивать все процессы с БАС

    И еще режим сайлент и окошко выбора языка, это все таки баг или из-за того что папки хешей не удалились?

    Баг, в течении 5 минут исправлю.

    Что я могу сделать чтоб они удалялись вовремя?

    Перед обновлением убивать все процессы с БАС

    Я сейчас поправлю баг с этим окошком



  • Спасибо за правки и рекомендации! Но я вот сейчас посмотрел. У меня автономный бот скомпилирован на версии 17.8.0 И правлю я всегда скрипты под него на версии БАС 17.8.0 То есть я обновления не принимаю когда оно приходит на БАС и остаюсь на 17.8.0

    Почему тогда эта фишка с хешами появляется?



  • @Gang Даже если меняется 1 символ в файле project.xml, то софт переносит его в другую папку, а именно SID + sha256(содержания project.xml)



  • Спасибо! И еще, я убиваю процесс FastExecuteScript.exe и тогда уже разношу файл скрипта. Этого достаточно, или еще есть какие процессы которые нужно убивать?

    И было часто такое что партнеру (php-кодер) было проблематично ребутить софт так как часто запускалось несколько версий скомпилированного бота. Это можно как-то четко контролировать чтоб всегда только 1 копия запускалась?



  • @Gang

    Баг с вылазящим окном исправил.

    Спасибо! И еще, я убиваю процесс FastExecuteScript.exe и тогда уже разношу файл скрипта. Этого достаточно, или еще есть какие процессы которые нужно убивать?

    Этого достаточно.

    И было часто такое что партнеру (php-кодер) было проблематично ребутить софт так как часто запускалось несколько версий скомпилированного бота.

    Тут нужны детали, если все будет совсем плохо, я могу сделать флаги

    --list для показа всех запущенных экземпляров
    --stop pid - для остановки какого-то конкретного
    --kill pid - для остановки процесса

    Это можно как-то четко контролировать чтоб всегда только 1 копия запускалась?

    По идее убрать все запущенные и запустить новый.



  • Тут нужны детали, если все будет совсем плохо, я могу сделать флаги
    
    --list для показа всех запущенных экземпляров
    --stop pid - для остановки какого-то конкретного
    --kill pid - для остановки процесса
    

    да там совсем плохо. Кодер матерится круглосуточно) Было бы круто с этими флагами



  • Баг, в течении 5 минут исправлю.
    

    Как там исправили? Можно качать новую версию и компилить на ней бот, окошка с выбором языка в тихом режиме не будет?



  • @support said in Проблемы с запуском БАС с командной строки:

    Возможно поможет запускать новые браузеры только в том случае если в системе есть достаточно оперативки свободно. Сейчас это можно проверять через апи
    memory_virtual_available()
    memory_physical_available()

    Ждать пока не будет 1 гб свободно:
    wait_memory(1000000000)!

    Подскажите я правильно работаю с API БАС ?
    alt text

    Это я в начале потока в свой код пишу. Или нужно в стартовую функцию писать?



  • @Gang said in Проблемы с запуском БАС с командной строки:

    Как там исправили? Можно качать новую версию и компилить на ней бот, окошка с выбором языка в тихом режиме не будет?

    Да, можно просто открыть скрипт в 18.3.0 и сохранить. Потом заменить project.xml и перезапустить. БАС сам обновится и баг пропадет.



  • @Gang В начале потока, до действия открыть браузер.
    Вызов первых 2 memory_* не обязателен.



  • а нет ли на подобии wait_memory() что-то вроде wait_cpu()?



  • @Sevenup Потоки при полностью загруженном cpu итак будут терпеливо ждать своей очереди.


Log in to reply
 

  • 5
  • 15
  • 12
  • 2
  • 2
  • 4
  • 7
  • 6