Postgresql

cron 有多精確?

  • May 23, 2011

我正在嘗試設置一個 python 腳本來查詢數據庫在過去 5 分鐘內的所有更新。考慮到更新的數量,它必須盡可能精確(我們的記錄時間戳精確到微秒)。我正在考慮兩種方法來解決這個問題——首先是使用 cron。然而,這依賴於 cron 足夠精確,每次執行時總是以*完全相同的時間間隔執行。*因此,如果第一次執行時間是 00:00:00.123456789,則需要在 00:05:00.123456789 再次執行。否則,有可能在兩者之間的間隙中失去記錄。

另一種選擇是找到一種方法將 sql 查詢“捕捉”到最近的分鐘,向下舍入。但如果我可以使用 cron,我寧願這樣做以使事情盡可能簡單。

我有出於某種原因需要輸出時間的 cron 腳本,我看到它們有時會遲到一秒(只追踪到一秒)。我不知道這是由於 Cron 還是由於載入和執行腳本所需的時間不同。我想兩者兼而有之。無論哪種方式,依靠 sql 查詢以完全相同的微秒執行,都行不通。

您可以讓您的 python 腳本獲取目前時間,然後將其舍入到最接近的 5 分鐘間隔。例如,如果它檢索到目前時間為 00:05:03.123,只需刪​​除秒數並根據 00:05:00 查詢並返回到 00:00:00。

或者您可以記錄最後一條記錄的時間戳,然後下次從目前時間查詢回該時間戳。

*編輯:*刪除了第二段的第一句話-那裡並沒有真正的意義。

引用自:https://serverfault.com/questions/272715