我正在编写一个用ROR和骨干编写的应用程序,它基本上是一个使用ROR作为api并在帮助中的1页应用程序Backbone和js模板呈现所有UI。为“单页”网站推送新版本通知
当我部署新版本时,我们有不刷新浏览器选项卡的用户,我想确定部署了新版本并向其发送通知,要求刷新页面。
从客户端确定是否部署了新版本会有什么好方法?
谢谢
我正在编写一个用ROR和骨干编写的应用程序,它基本上是一个使用ROR作为api并在帮助中的1页应用程序Backbone和js模板呈现所有UI。为“单页”网站推送新版本通知
当我部署新版本时,我们有不刷新浏览器选项卡的用户,我想确定部署了新版本并向其发送通知,要求刷新页面。
从客户端确定是否部署了新版本会有什么好方法?
谢谢
我可能会做一个/version
路线,将返回当前部署的Git版本的SHA。客户端可以定期获取这个URL,看看它是否改变。
此方法让服务器不用担心维护当前连接的客户端列表(用于推送通知)。更重要的是,实施起来很简单。
这是所有手动,由管理员或服务器端脚本完成的权利? – Calin 2012-07-06 11:48:05
@Calin是的,正确 – 2012-07-06 12:44:30
这可以无需轮询本身来完成rver:
客户应与每个API调用发送到服务器的版本(可以是一个HTTP标头)
如果服务器支持客户端的版本,它会成功,并返回所需的数据。
否则,服务器将返回一个错误代码,指定不再支持客户端。然后用户界面可以显示一条消息,要求重新加载页面。
在骨干网方面,你需要重写模式的“同步”的方法,或配置传输层(默认为jQuery来的HTTP报头添加到每个AJAX调用。
最佳答案就在这里。 – 2012-07-07 13:32:16
汇集服务器应该肯定更简单,但它是一个浪费带宽,我宁愿推动通知。 – Calin 2012-07-06 11:48:40
选择是你的。 – 2012-07-06 11:50:32