Перезапуск бота через батник



  • Всем привет. Написал батник, чтобы тот перезапускал бота. Батник останавливает все процессы "Workers" по 1 шт и ждет когда они все будут закрыты вместе с ботом и только тогда перезапустить его
    Сам батник:

    @echo off
    title Restart_Recaptha_Bot
    timeout /T 3 /NOBREAK
    SET processFreebitcoin="FastExecuteScript.exe"
    set process=Worker.exe
    timeout /T 3 /NOBREAK
    taskkill.exe /F /IM %processFreebitcoin%
    goto checker
    :check
    cls
    echo Process %process% is still running...
    :checker
    tasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nul
    if %errorLevel% == 0 goto :check
    rem процесс Worker.exe был завершен, можно запускать следующий файл
    START /wait C:\Users\Administrator\Desktop\Recaptcha2Bot\CapthaBot.exe --silent
    exit
    

    Всё работает хорошо, но есть очень маленький неприятный момент. Бот запускается в трее и 50% функций не работает если его не открыть из трея. --silent открывает в трее, без неё не работает.



  • @FastSpace За батник спасибо, лучше было тему создать в сосендней ветке, что бы не потерялась.

    Бот запускается в трее и 50% функций не работает если его не открыть из трея.

    Откуда инфа? При запуске через --silent все функции работают. Только настройки ресурсов при запуске не поменять.

    Прикольное название "processFreebitcoin" :D не связан с сайтом freebitco.in?

    Ты переименовал исполняющий файл?

    START /wait C:\Users\Administrator\Desktop\Recaptcha2Bot\CapthaBot.exe --silent
    

    Информация тем, кто будет переделывать для себя этот батник, если в пути есть пробелы или кирилица, путь до скрипта нужно помещать в кавычки.

    Вот кстати все параметры запуска.



  • @FastSpace А разве после завершения процесса скрипта FastExecuteScript.exe не завершаются автоматом все Worker.exe?
    И наоборот, если скрипт работает с успешными завершениями, то после завершения одного воркера, запустятся другие?



  • @Fox Для начала, чтобы тему создать надо батник в 100% рабочий код превратить.
    Без запуска --silent нужно кнопку "Ok" еще нажать в самом боте, чтобы запустить его. Я не знаю как средствами батника это сделать. Автокликер и прочая лабудень это не вариант, на серваке нет монитора и само собой мышки тоже, когда к нему я не подключен.

    P.S
    Да, бота пишу кран этот и соседней догов.
    И да, переименовал, но и со стандартным так работает.



  • @Fox said in Перезапуск бота через батник:

    @FastSpace А разве после завершения процесса скрипта FastExecuteScript.exe не завершаются автоматом все Worker.exe?
    И наоборот, если скрипт работает с успешными завершениями, то после завершения одного воркера, запустятся другие?

    Завершается, но чтобы остановить фармяшего бота после двое суток фарма должно пройти некоторое время, пока закроются все воркеры, батник ждет закрытие всех процессов. А это около 1-2 минуты на не слабом сервере.



  • @FastSpace А что именно у тебя не работает? У меня все скрипты всегда работали с --silent ни когда ни каких проблем не было.

    Завершается, но чтобы остановить фармяшего бота после двое суток фарма должно пройти некоторое время, пока закроются все воркеры, батник ждет закрытие всех процессов. А это около 1-2 минуты на не слабом сервере.

    Заметил сейчас, что у тебя идёт сперва завершение FastExecuteScript.exe а уже потом Worker.exe, значит скрипт не будет создавать новые воркеры, если использует успешные выполнения.



  • @Fox said in Перезапуск бота через батник:

    Заметил сейчас, что у тебя идёт сперва завершение FastExecuteScript.exe а уже потом Worker.exe, значит скрипт не будет создавать новые воркеры, если использует успешные выполнения.

    Всё правильно, но после заверешения FastExecuteScript.exe Worker.exe не закроються в один момент, нужно ждать пока все закроються. Иначе будут баги при перезапуске.



  • @Fox said in Перезапуск бота через батник:

    @FastSpace А что именно у тебя не работает? У меня все скрипты всегда работали с --silent ни когда ни каких проблем не было.

    Много чего, не работает отдельные потоки, отвечающий за забор каптчи из текстовика, за отпарвку сообщений в ТГ. Сами основные процессы ошибки выдают. В общем пока я из трея не открою процесс всё идет с багами.



  • @FastSpace Погодь, а где он у тебя завершает Worker'ы?

    goto checker
    :check
    cls
    echo Process %process% is still running...
    :checker
    tasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nul
    if %errorLevel% == 0 goto :check
    

    Это цикл ожидания запущеных воркеров, чтобы перезапустить скрипт только после того, как ни одного воркера в процессах не будет найдено.


    Много чего, не работает отдельные потоки, отвечающий за забор каптчи из текстовика, за отпарку сообщений в ТГ. Сами основные процессы ошибки выдают. В общем пока я из трея не открою процесс, всё идет с багами.

    Сможешь сделать тестовый скрипт, где что то работает при обычном запуске, и не работает при запуске через --silent?



  • @Fox said in Перезапуск бота через батник:

    Это цикл ожидания запущеных воркеров, чтобы перезапустить скрипт только после того, как ни одного воркера в процессах не будет найдено.

    Да, именно так. Я неправильно изначально выразился, он не закрывает воркеры, а ждёт из автоматического закрытия после закрытия FastExecuteScript.exe



  • @Fox said in Перезапуск бота через батник:

    Сможешь сделать тестовый скрипт, где что то работает при обычном запуске, и не работает при запуске через --silent?

    Да, я буду потихоньку части выдергивать из скрипта, ну и смотреть как идёт перезапуск. Могу потом эти части выложить.
    Однако что-то мне кажеться, что проще найти способ, как нажать кнопку OK и не запускать с --silent. Шас покурю тот мануал.



  • @FastSpace

    Однако что-то мне кажеться, что проще найти способ, как нажать кнопку OK и не запускать с --silent.

    Параметр запуска --silent как раз для этого и придуман. Само слово silent в переводе бесшумный и используется для бесшумного (читай без изменения пользователем ресурсов) запуска скрипта.


    Тестовый скрипт всё же сделай, можешь в личку скинуть если что. Потому что это либо логика твоего скрипта, либо баг BAS. А баги лучше искоренять, как и находить неправильную логику :D



  • @Fox said in Перезапуск бота через батник:

    Тестовый скрипт всё же сделай, можешь в личку скинуть если что. Потому что это либо логика твоего скрипта, либо баг BAS. А баги лучше искоренять, как и находить неправильную логику :D

    Баг тогда мелкий 100% есть. Обычно на серверах бот запускается без красивого тёмного интерфейса, просто белый фон. Когда запускаешь с параметром --silent, то половина бота становиться тёмной и половина белой. Как -нибудь заскриню как поймаю этот момент :)



  • @FastSpace Про запуск на серверах и интерфейс уже говорили, вещь не существенная.

    Много чего, не работает отдельные потоки, отвечающий за забор каптчи из текстовика, за отпарвку сообщений в ТГ. Сами основные процессы ошибки выдают. В общем пока я из трея не открою процесс всё идет с багами.

    Мне бы любой вариант скрипта с ошибками из за --silent.



  • @Fox Всё четко работает, это я затылок. Поток отвечающий за перезапуск бота глючил. Выбросил его и стало всё хорошо.
    Теперь можно и тему создать.


Log in to reply
 

  • 5
  • 5
  • 2
  • 2
  • 2
  • 29
  • 6
  • 2