簡體   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