加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Rails XMPP机器人在背景中

发布时间:2020-12-17 03:22:39 所属栏目:百科 来源:网络整理
导读:我正在构建一个基本上允许用户与机器人聊天的服务,然后僵尸机构会对用户发送的聊天进行一些奇怪的处理,并最终回复一些有意义的数据.基本上类似于Aardvark使用(?)工作的东西. 我的机器人正在工作,现在正在聆听,我有一个单独的rails应用程序,它将执行所有其他
我正在构建一个基本上允许用户与机器人聊天的服务,然后僵尸机构会对用户发送的聊天进行一些奇怪的处理,并最终回复一些有意义的数据.基本上类似于Aardvark使用(?)工作的东西.

我的机器人正在工作,现在正在聆听,我有一个单独的rails应用程序,它将执行所有其他繁重的工作.这两个部分都是单独工作,现在我陷入了两者的连接.我的想法是通过Resque将机器人(基本上是一个小的ruby脚本)与rails应用程序连接 – 任何进入队列的东西,被拾取,结果然后再次推回到队列,然后脚本会回复结果.

我不清楚如何建立这个接口:

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

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

解决方法

您的Rails应用程序和此bot守护程序之间有三种通信方式:

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

当您将Resque作业从各种作业队列中排除并拉出时,您只需通过API读取/写入共享的Redis数据库. bot和Rails应用程序都通过网络与Redis DB进行通信.

我建议直接运行bot作为rubit进程或由monit管理的rake任务.听起来你已经知道如何做到这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读