2017-02-14 89 views
0

我正在開發一個使用Ruby on Rails的網站,我正在做一些粗略的規劃。我可以在之前部署rails網站,只是添加到數據庫並根據我的用例從數據庫中檢索,但這一次,它有點不同。我正在添加到數據庫中,但在將數據發回給用戶或決定檢索數據之前,我需要在服務器上處理數據。我沒有得到的是我如何處理服務器上的數據。我知道這不符合提問的正常模式,我會用谷歌搜索它,除非我不知道我在找什麼。在正確的方向推動會做。如何使用rails和heroku處理服務器上的數據

我想要做的就是讓用戶註冊並點擊一個按鈕(請求),將用戶標識放在一個數組中,我需要在服務器上做的是隨機或不隨機地連接兩個用戶質量,這個程序保持無限運行,以便用戶稍後可以回來檢查他是否已經與某人連接。

+0

這取決於你想要處理的是什麼,但下面的答案是關於正確的,這通常是在控制器或模型中完成的。讓我們知道您想要做什麼或檢查文檔。 –

+0

感謝您的評論,我剛剛更新了我的問題,說明我想要做什麼 – Mordred

+0

閱讀完編輯後的版本後,我認爲這可以使用rake任務輕鬆完成,該任務可以將連接添加到特定用戶。您可以從命令行運行Rake任務。 – Zubin

回答

0

我認爲您可能會發現運行後臺作業有很多好處,因爲它會不斷尋找匹配項。你可以有一個與用戶排隊的無限運行的Sidekiq進程。然後一旦完成,就再次啓動它。

或者您可以創建一個耙子任務,它執行User.find_each並在任務完成時再次運行。但是如果你最終擁有大量的用戶,這會阻礙你的工作。我會爲每個用戶推薦一個作業,並且只是用它們膨脹系統。這樣您可以橫向和縱向擴展。

您想了解ActiveJobSidekiq以幫助您實現目標:)。 Sidekiq需要Redis,您還必須設置。我建議使用redis-rails寶石來幫助整合。

0

要消除BenMorganIO的答案,我認爲這是一個背景工作者的工作。這是一個在後臺處理的作業,所以它不會減慢你的應用程序。一個很好的例子就是在後臺發佈一封電子郵件。

主要存在3寶石我已經看到了這一點:

那些應該指向您在正確的方向。

相關問題