我很好奇是否有人對我的情況有最佳實踐或建議:我對通過 REST 提供數據沒有任何影響的服務器。數據僅在特定時間范圍內有效,并會定期刷新。下一次刷新發生的時間通過 http 標頭字段知道。在標題中還有服務器的當前時間。服務器上的時間關閉了幾秒鐘(似乎沒有通過 NTP 同步)我的任務如下:新數據被服務器刷新后盡可能短地抓取我的問題是:我應該只保存我的服務器時間和每個請求的目標服務器之間的偏移秒數并相應地調整我的下一次拉取嗎?我應該創建某種“其他服務器”時鐘,它定期與另一臺服務器的時鐘同步,并有偏移量來觸發我的下一次拉取?我的問題不是什么:處理時間/時區。最佳解決方案將使我能夠在從其他服務器更新后立即獲取數據。
1 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
如果另一臺服務器的時間與您的時間不同,那么我認為您不應該嘗試通過使用偏移量等來“同步”您的時間。它可能會起作用,但知道您沒有正確的同步它不會可靠(時差可能隨時改變)。
如果第三方 REST 服務器為您提供當前他們的時間和他們下一次數據刷新的時間(也在他們的服務器時間中),那么您可以計算請求何時應該是不考慮您的服務器時間的時間度量. 例如,如果他們的當前時間是 12:00:07,下一次刷新是 12:00:10,那么您知道應該在 3 秒后執行下一個請求。只需根據預期的刷新時間將其安排到您之前的請求即可。
基本上你不關心他們的時間。它可能在某個奇怪的時區或某個奇怪的時間單位中,但無論它是什么,它們都會告訴您從上次請求開始的秒數,您應該執行下一次請求。
添加回答
舉報
0/150
提交
取消