簡體   English   中英

如何使用Rails和Heroku處理服務器上的數據

[英]How to process data on the server with rails and heroku

我正在使用Ruby on Rails開發網站,並且正在做一些粗略的計划。 我可以並且以前已經部署過Rails網站,只是將其添加到數據庫中並根據用例從數據庫中進行檢索,但是這次卻有所不同。 我正在添加數據庫,但是在將數據發送回用戶之前或當他決定檢索數據時,我需要在服務器上處理數據。 我沒有得到的是我將如何處理服務器上的數據。 我知道這不遵循正常的提問方式,我會用Google搜索它,除非我不知道自己在尋找什么。 朝正確方向輕推即可。

我想做的就是讓用戶注冊並單擊一個按鈕(請求),該按鈕將用戶ID放入一個數組中,我需要在服務器上做的是根據某些性質隨機或不隨機連接兩個用戶,該程序保持無限運行,以便用戶稍后可以返回以檢查他是否已經與某人連接。

這種邏輯通常屬於控制器,或者可能屬於模型。 您應該閱讀Rails文檔,尤其是有關控制器的文檔: http : //guides.rubyonrails.org/action_controller_overview.html

我認為您可以從不斷尋找匹配項的后台工作中受益匪淺。 您可能有一個無限運行的Sidekiq進程,並與用戶排隊。 然后,一旦完成,就重新啟動它。

或者,您可以創建一個執行User.find_each的rake任務,並在任務完成后再次運行它。 但是,如果您最終有很多用戶,這將使事情受阻。 我建議每位用戶一份工作,然后隨他們一起膨脹系統。 這樣,您既可以橫向擴展又可以縱向擴展。

您將需要了解ActiveJobSidekiq,以幫助您實現所需的目標:)。 Sidekiq需要Redis ,您也必須對其進行設置。 我建議使用redis-rails gem來幫助集成。

為了擺脫BenMorganIO的答案,我認為這是后台工作者的工作。 這是一項在后台處理的作業,因此不會降低應用程序的運行速度。 一個很好的例子是在后台發出一封電子郵件。

我主要看到以下3個寶石:

這些應該為您指明正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM