繁体   English   中英

是否可以在后端使用“推送”服务?

[英]Is it possible to use 'push' services at the back-end?

我正在使用推送器 gem从外部API操纵我的前端。 它工作正常,没问题。

但我想知道的是,是否有可能在我的应用程序的后端使用推送通知? 我花了很多时间来调查这个,但找不到有用的东西。

让我总结一下:

我有一个应用程序和另一个与其他应用程序紧密交互的API应用程序。 有时我想使用我的API向我的主应用程序发送通知,我希望能够在主应用程序的后端处理有关从API端接收的数据的数据。 这些是“行动已完成/开始/成功”等等......

我知道'推送器'会在前端通过JavaScript接收推送通知。 但我相信必须有一种方法可以在后端使用这些通知。

如果有另一种方式(也许是Faye?Websocket)这样做,我很想知道它是什么。 任何线索将不胜感激。

这是可行的吗?

谢谢

Pusher也是一个后端系统 (用于“推送”对频道的更新)


端点

我想你可能对端点很感兴趣

从我可以收集的信息来看,一旦API中出现动作,您似乎希望触发数据传输到端点? 例如:

  • 用户注册“API”应用
  • API应用程序向主应用程序发送“通知”
  • 主应用程序将用户数增加1

我可以看到这个工作的方式是使用ajax ,或者向主应用程序的端点发送curl请求(在路由中设置),触发操作:

#main_app/config/routes.rb
post "endpoint", to: "application#endpoint"

#main_app/controllers/application_controller.rb
def endpoint
    @count = Option.increment!(:user_count)
end

这将允许您在“主”应用程序的后端操纵您的数据


API

当您想要将API应用程序中的数据发送到主应用程序时,就会出现棘手的非传统部分(这是您从中获得“推动”想法的地方)

我个人会看到向主应用程序端点发送标准HTTP请求,可能是使用Curl(如果来自后端):

你可能想在这里安装curb (CUrl RuBy): https//github.com/taf2/curb

如果你愿意,我可以写一些代码吗?

我向Pusher的支持团队提出了同样的问题,我得到了我正在寻找的确切答案。

如果服务器上有客户端库,则可以在服务器上安装客户端库( http://pusher.com/docs/client_libraries )。 然后,您可以通过这种方式订阅客户端频道。

在我的例子中,我使用Ruby gem,可以从https://github.com/pusher/pusher-ruby-client访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM