如何让 ruby 程序调用 rails 应用程序?

How do I have a ruby program call into a rails app?

我想编写一个向 rails 应用程序发送信息的 Cinch IRC 机器人。 rails 应用程序本质上将充当用户的监视器,理论上显示的数据将不断刷新。

我有独立运行的基本 IRC 机器人,并且以前编写过独立的 rails 应用程序。我不知道将它们集成在一起的最佳方法是什么?使用 sidekiq 可以启动机器人,但它并没有给我一个干净的方式来连接回网站。

我看到三个选项:

  1. 构建一个 api 并让您的脚本向该 api 端点发送请求
  2. 使用script/runner直接在您的应用程序中调用您的方法
  3. 让脚本将数据直接存储到应用程序数据库中

我认为 api 解决方案是出于安全性和可维护性原因的唯一合理选择。