我是一个新手试图制作他的第一个网络应用程序。我现在想到的是一个类似于Facebook的通知系统。我做了一个快速搜索,看看其他人谈到了这个主题,并看到了很多关于如何处理问题的不同意见:有些人建议使用Resque / Delayed Job / Beanstalkd在后台执行该过程,而其他人则指向像宝石一样的宝石Mailboxer。
为什么需要在后台处理工作?它仅用于传入消息吗?此外,延迟作业是否足以满足简单的通知系统?我听说beanstalkd是最快但不支持Windows的。
非常感谢任何帮助/建议/答案。
答案 0 :(得分:1)
您需要运行佣金任务或延迟工作。
在网络应用程序中,您必须立即将答案发送给用户,您不希望让他等到您完成所有广播处理,因此您只需保存该出版物并向他显示成功消息
然后,您处理通知,并将此通知广播给所有订阅者,此过程可能需要一些时间(想象一下拥有2,000个朋友的人)。
最后,如果您希望通知系统显示实时通知,后台进程可以通过javascript和websockets广播该消息,请查看Best Ruby on Rails WebSocket tool
答案 1 :(得分:1)
看看这个优秀的视频和文字教程http://railscasts.com/episodes/406-public-activity它可能会指向正确的方向
同样在同一个网站上你会发现很多有用的信息