gpt4 book ai didi

ruby - Rails + XMPP 机器人在后台

转载 作者:数据小太阳 更新时间:2023-10-29 07:15:20 26 4
gpt4 key购买 nike

我正在构建一个基本上允许用户与机器人聊天的服务,然后机器人对用户发送的聊天进行一些奇怪的处理,并最终回复一些有意义的数据。基本上类似于 Aardvark 使用 (?) 工作的方式。

我的机器人现在可以正常工作和监听,而且我有一个单独的 Rails 应用程序可以完成所有其他繁重的工作。这两个部分单独工作都很好,现在我坚持将两者连接起来。我的想法是通过 Resque 将机器人(基本上是一个小的 ruby​​ 脚本)与 Rails 应用程序连接起来——任何进入的东西都会进入队列,被拾取,然后结果再次推回队列,然后脚本会回复结果。

我不是很清楚如何建立这个接口(interface):

  1. 我是否需要编写 rake 任务来启动/停止/重新加载机器人
  2. 如果我在没有 rake 的情况下运行它(应该是一个由 Monit 监控的独立进程),那么我如何与 Resque 交互或访问我的 Rails 模型?

我知道这些可能是非常微不足道的问题,但我很难理解哪个效果更好,以及如何进行设置。

最佳答案

可以通过三种方式在 Rails 应用程序和此机器人守护程序之间进行通信:

  1. 通过将 Rails 应用程序作为 HTTP 请求调用(从 Rails 应用程序推送/拉取数据)
  2. 通过直接与 Rails 应用使用的数据库(可能是 Mysql/Postgres)交互
  3. 通过与 Redis 数据库支持的 Resque 工作队列系统交互

当您将 Resque 作业加入队列和从各种作业队列中拉出时,您只是通过 API 读取/写入共享的 Redis 数据库。机器人和 Rails 应用程序都通过网络与 Redis 数据库对话。

我建议直接将机器人作为 ruby​​ 进程或由 monit 管理的 rake 任务运行。听起来您已经知道如何执行此操作。

关于ruby - Rails + XMPP 机器人在后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14504441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com