У меня есть 3 машины (более реально, но 3 для целей этого вопроса) в сети, 2 рабочих станциях и сервере. На сервере размещается приложение Rails, которое посещает пользователи на рабочей станции A, что позволяет им просматривать и анализировать данные из базы данных сервера. У меня также есть сценарий Ruby на рабочей станции B, который генерирует данные и хранилища в базе данных на сервер. Я хочу, чтобы у приложения Rails появилась функция запуска этого сценария Ruby на рабочей станции B, когда пользователь из A щелкнет определенную кнопку на странице приложения Rails, чтобы 1. максимально возможная часть моей системы содержалась в приложении и 2. Я могу избежать необходимости подключаться через удаленный рабочий стол или, что еще хуже, физически переходить на рабочую станцию B.удаленно запускает рубиновый скрипт через веб-страницу
Я действительно не знаю, как подойти к этому даже на базовом уровне; Я использовал PSExec в прошлом для удаленного запуска процессов, но я не знаю, будет ли этот инструмент жизнеспособным для этого приложения. Если я не могу представить, как использовать его для этой цели. Может кто-нибудь указать мне в правильном направлении?
- это серверные окна? Можете ли вы запустить демон/слушателя на рабочей станции b? вы посмотрели на DRB (http://docs.ruby-lang.org/en/2.2.0/DRb.html) – Doon
это окна. возможно, я неправильно читаю, но похоже, что DRB разрешил мне запускать процессы на сервере, а не удаленно на другой машине, используя сервер в качестве посредника. Я ошибаюсь? –
да, Drb распределен рубин. вы можете запустить процесс на рабочей станции b, а затем сервер подключается к этому процессу и может выполнять вызовы объектов и т. д. --- dRuby позволяет обрабатывать методы в одном процессе Ruby на объект Ruby, расположенный в другом Ruby-процессе, даже на другом машина. просто нужно tcp-соединение между обоими. – Doon