как связать веб-клиенты с соответствующими запущенными фоновыми скриптами? - PullRequest
1 голос
/ 24 октября 2009

говорят, что php-скрипт каждый раз выполняет фоновый скрипт в фоновом режиме, php-скрипт запускается из браузера.

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

это значит, что вошедший в систему пользователь на сайте может получить отзыв о запущенном им скрипте ruby, посетив раздел на сайте. пользователь также должен иметь возможность завершить этот запущенный скрипт.

Есть много пользователей или клиентов, которые входят на сайт и запускают множество экземпляров сценария ruby ​​в фоновом режиме.

1 Ответ

0 голосов
/ 24 октября 2009

Вы можете указать параметры для любого сценария оболочки.
Итак, запустив

my_script.rb 42

Где 42 - идентификатор вашего пользователя, в этом скрипте вы узнаете, какой пользователь запустил скрипт.
В вашем скрипте ruby ​​вы можете получить это значение в массиве ARGV.

Вам также нужно будет написать где-нибудь PID скрипта (идентификатор, генерируемый при запуске скрипта и позволяющий вам его убить). Для получения pid процесса ruby ​​вы найдете больше информации здесь .

Итак, по порядку, вы делаете следующее:

  • В вашем скрипте PHP вы запускаете процесс ruby ​​с опцией идентификатора пользователя.
  • В вашем PHP-скрипте вы регистрируете pid процесса для последующего использования.
  • Теперь в своем скрипте ruby ​​вы можете узнать, какой пользователь связан с ним, и действовать соответственно (зарегистрировать его в соответствующем месте).
  • Когда вы хотите убить скрипт, вы берете pid обратно и отправляете команду kill с этим pid.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...