2013-03-04 38 views
0

我是一個試圖使他的第一個Web應用程序的新手。我現在想的是一個類似於Facebook的通知系統。我做了一個快速搜索,看看其他人談論過這個話題,並且看到了很多關於如何解決這個問題的觀點:有人建議使用Resque/Delayed Job/Beanstalkd在後臺進行這個過程,而其他人則指向像Mailboxer。Rails - 創建類似Facebook的通知系統

爲什麼需要在後臺處理作業?僅用於傳入消息嗎?另外,Delayed Job是否可以滿足簡單的通知系統?我聽說beanstalkd是最快的,但不支持Windows。

任何幫助/建議/答案將不勝感激。

+1

喜!當你說通知系統,你是指實時通知系統(如彈出窗口)或只是在頂部的一個(如收件箱的種類?) – jvnill 2013-03-04 03:06:40

+0

只是在頂部:) – jeebface 2013-03-04 03:29:33

+0

在這種情況下,你只需要添加一個創建通知的單獨模型。其他人提出後臺工作,因爲您可能會爲單個活動創建超過1個通知記錄,這可能會耗費大量時間。這只是一個簡單的應用程序,所以如果你有任何教程,你應該能夠開始工作。當你陷入困境時,只需發佈​​一個不同的問題,我們就會看到我們可以做些什麼來幫助。 – jvnill 2013-03-04 03:41:45

回答

1

您將需要運行rake任務或延遲作業。

在Web應用程序中,您必須立即將答案發送給用戶,您不希望讓他等到您完成所有廣播處理,因此您只需保存該出版物並向他展示成功信息。

然後,您處理通知,並將此通知廣播給所有訂閱者,此過程可能需要一點時間(想象一下有2000個朋友的人)。

最後,如果你想有一個通知系統顯示實時通知,後臺進程可以廣播雖然JavaScript和WebSockets的消息,看看Best Ruby on Rails WebSocket tool