Запуск БАС через веб интерфейс



  • Обдумываю следующую задачу. Запуск скрипта с указанием данных через веб интерфейс

    Дано:

    1. Сервер Windows. Скомпилированный скрипт, который парсит сайт по ссылке, результат отправляет на email
    2. Виртуальный хостинг Linux. Веб интерфейс с формой, в форму вставляется ссылка, после чего ссылка сохраняется в БД
    3. Отдельный скрипт на BAS регулярно проверяет базу, если появилась новая ссылка он запускает скомпилированный скрипт 1

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

    Заранее спасибо за ответы.



  • @romanbiz
    это только передача данных/параметров? может быть скрипту нужно просто ждать появления в БД.
    я использую бесплатный веб хостинг с пхп и SQL в местном гандурасе
    для одной строки базу данных?



  • @ruzne вот в том то и дело что я не хочу чтобы скрипт ждал, создавая при этом нагрузку на сервер запущенным БАС.
    В идеале я бы хотел чтобы скрипт запускался при помощи команды от внешнего вебсервера.



  • @romanbiz я не уверен но не думаю что басждун создает нагрузку. я бы делал запрос к серверу с базой и если приходил пустой результат жlал допустим 5 миут. а на сервере с базой чтото вроде

    $result = mysql_query("SELECT url FROM url_list LIMIT 1")
    $result = mysql_fetch_array($result);
    if($result > 0){
    print $result[url];
    }else{
    print "";
    }
    

    другой вопрос если реал тайм нужен, есть же node.js можно вебсокет намутить



  • На сервере ставим скомлированный скрипт, готовый получать данные из нужной бд.
    Ставим питон с flask/ ноду с express, делаем 1 роут, при котором запускаем по пути ехе шник баса без интрефейса.

    Прокидываем порт если нужно, теперь имеем возможность запускать скрипт get запросом.

    В своей админке делаем кнопку которая делает невидимый для браузера (без перехода) гет запрос с помощью AJAX

    Ну и все.



  • Если веб сервер будет на виндовсе, есть в пхп такая фишка как exec и вот она уже может запускать ехе скажем, хотя с точки зрения потребления ресурсов и здравого смысла куда эфективней будет простой лоадер на c+/delphi/fpc и.т.д



  • 0_1521237302747_get_bass.exe вот простой софтик, если сервер отдает заданный текст скрипт ждет, вроде null или 1, когда нужно запустить скрипт ответ от сервера должен содержать любой текст кроме заданного выше, весит 8-9кб памяти и проц не кушает, можно конечно за морочиться еще что бы он писал данные для запуска в ресурсы или перемещал в буфер и бас это подбирал и.т.д......



  • @romanbiz нуу можно все укоротить. настроить winrm.
    юзаешь по докам
    для запуска и указания url пробрасываешь повершелл скрипт с таким вот кодом

    $url = '2222222'
    (Get-Content 'c:\actual.xml') -replace '1111111', $url | Set-Content 'c:\actual.xml'
    cmd /c 'bas.exe' --silent
    

    все что тебе нужно это повершел версии 2.0 и выше на своем пк и сервере, без гемора с нодами питонами вебами и базами



  • @DrPrime подскажите пожалуйста, а может ли BAS используя node JS и пакет NPM для подключения к telegram bot ждать команды из телеграм бота? Насколько я понимаю, если на компьютере запустить node js и потом js скрипт через неё, то таким образом так можно сделать (смотрел видео как таким образом поднимают телеграм ботов).

    А если через BAS запустить node js? Нужно ли постоянно будет обращаться куда-то или достаточно будет запустить скрипт и он будет ждать команду?

    Заранее спасибо за ответ.



  • @romanbiz
    Можно, но сложно.
    В телеграм ботах есть 2 метода.
    Первый(дефолтный) - getUpdates - хранит все команды от бота на сервере, которые потом нужно получать и обрабатывать.
    Второй -WebHooks - отправляет все команды на Ваш сервер для обработки, не сохраняя их на серверах телеграма.
    Но для второго метода обязательно должен быть https (сертификат и пр.), что бы телеграм перенаправлял туда запросы от бота.
    В теории обработчик можно повесить в басе на node js, но с этим нужно повозиться.



  • подскажите пожалуйста, а может ли BAS используя node JS и пакет NPM для подключения к telegram bot ждать команды из телеграм бота?

    Можно модифицировать скрипт из соседней темы.



  • Did someone manage to run BAS script from WEB Pannel? Only way i see is to make BAS script check mysql db for flags to run or not in scheduler



  • @gudolik Following this.


Log in to reply