Live
实时推送消息。可用于构建实时聊天之类等。
尽量不要和 Streaming 搅在一起,它们有类似之处,但不要混淆了。
默认不使用 SSE
默认情况下不使用 SSE,而是 Buffer,举例:
建议 web server 使用 gem 'puma',开发环境下默认使用的 WEBrick 不支持。Unicorn(响应比较快,并且对超时比较严格)、Rainbows! 或 Thin 也可以。
使用 SSE
SSE 全称 Server Sent Event,HTML5 服务器发送事件。
提供方法:
使用举例:
实例方法
process
常见的同名方法,这里主要是另开一线程进行处理请求。
set_response!
也是常见的同名方法,这里主要是设置 response 为 Live::Response 的实例对象。
response_body=
主要是用于确保 response 用完后关闭。
log_error
记录错误(有的话)。
注意事项
content_for
根据情况,有的要改为provide
如果模板里有更改 Headers, cookies, session and flash 的值,将不起作用
部分 middleware 将不能再使用,如:Rack::Bug、Rack::Cache
异常报告和 Web server 的支持
参考
最后更新于