我正在編寫一個用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