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



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

    Дано:

    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 ждать команды из телеграм бота?

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


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.