从另一个rails应用程序

时间:2016-08-22 08:54:52

标签: ruby-on-rails ruby shell ruby-on-rails-4

我需要在服务器上运行一个shell脚本(例如df),比如说Client。对此脚本的调用应该来自另一个独立的rails应用程序,通过REST Api说Monitor并返回输出以响应Monitor应用程序。

此shell命令应在Client的所有应用程序服务器实例上运行。虽然我正在研究它,但如果有人已经这样做过,那将会非常有帮助。

我需要从Client服务器获取以下信息到Monitor应用程序:

  1. 每个Client服务器实例上留下的磁盘空间
  2. 在每个Client服务器实例上运行的进程
  3. 应该能够终止无响应的Client实例。
  4. 由于

1 个答案:

答案 0 :(得分:0)

可以通过以下方式执行简单的命令:

result = `df -h /`

但它并未满足在客户端的所有应用程序服务器实例上运行的要求。为此,您需要独立调用每个实例。

另一种方法是从cron作业运行支票,让Client来电Monitor。如果cron不合适,您可以在每个客户端创建一个ActiveJob,收集数据并调用Monitor

您还应该查找提供所需数据的ruby库。 例如,sys/filesystem可以提供有关磁盘统计信息的数据。