Ruby 远程执行 ruby 文件

zerolin · 2013年06月17日 · 最后由 comme 回复于 2013年06月23日 · 4052 次阅读

老板要求能够在本地敲一个命令就能远程调用执行一个 ruby 文件; 老板说可以用 ruby 让本地发送 http 请求过去来执行文件; 不知道有没有人能提供比较好的实现方法,尽量能说的浅显直白一点,小弟谢过

你前面问的那个 ssh 调用就可以实现

我远程的机子是 windows 系统的

可以用 eventmachine 监听某个 socket 端口(如果一定要做成 http 请求的话,可以使用 rack server),在收到任何请求后执行相应的命令。

#4 楼 @ericguo 是 windows 環境大神啊。要拜一下!

#5 楼 @mclee 不敢当,Luis Lavena才是大神,就是发布 rubyinstaller 的那位,俺们只是跟着用用而已……

用 windows 的 telnet 服务或者 pstools 远程执行命令

我打算用 Grape 提供一个 API 出来,给其他机子调用,这样的方式来实现,苦于 Grape 看了文档也不会用,学习中。

不明白你要用 Grape 来干嘛 "老板要求能够在本地敲一个命令就能远程调用执行一个 ruby 文件;" 这个不是提供 REST 接口的意思吧?感觉完全是两码事

#9 楼 @drift_ic 那应该是怎样理解呢

"远程调用执行一个 ruby 文件",这句话我的理解是,远程执行"ruby test.rb"。那使用 telnet、ssh 或任何一种操作系统支持的远程协议就可以了,这只需要在操作系统层面上完成。 像 Grape 提供的是 restful API,那已经是应用层面上的事了。 你最好跟你老大确定一下究竟要什么吧

#11 楼 @drift_ic 对的,我一开始也是这么想的,后来我自己想通过 API 的方式来这样做,我觉得这样做是不是更好?

#12 楼 @zerolin 确认要求先,不要自以为是。

#13 楼 @heliang7 兄弟说得对,我会注意的。

远程控制,比较简单的可以在远程端启用一个监听程序,本端发送命令过去,然后执行 用 ruby 可以很简单的实现

比如在远程端启用一个 rpc 服务器,在本地启用 rpc 客户端,把命令发送过去

为什么没人说 ruby 的远程方案呢?给个以前写的 drb 的例子:http://fsword.github.io/blog/2012/03/08/tong-guo-drbji-cheng-javahe-rubyhuan-jing/

需要 登录 后方可回复, 如果你还没有账号请 注册新账号