1
我想製作一個程序,每n秒輪詢一次SQL數據庫(n> 10)。它驗證特定列中的數據並根據它調用一個函數。Python:每隔n秒查詢一次SQL數據庫並根據它執行一個任務
對於例如,
when column has '1' -> call function1
when column has '2' -> call function2
when column has '3' -> exits
我看着多線程,看見基礎上threading.timer
的解決方案,將滿足我的使用情況?
此外,我會與時間漂移高達+/- 1秒。
我想這是一個可行的解決方案。但我不認爲我能夠計算隨着數據庫規模的增長,時間複雜度將如何增長。此外,數據庫位於服務器上,因此多個進程可能在任何給定時間進行輪詢,因此查詢時間可能不一致。 此外,多線程將爲我提供在線程運行時執行其他任務的功能,不是嗎? – ChaoticTwist
如果您知道數據庫的大小會增長,並且您每隔幾秒就會執行一次相同的查詢,那麼您最好使用索引對其進行優化並保持不變,以隱藏併發性問題。除此之外,在我們的業務中,10秒的時間相當長,所以應該足以讓查詢運行。是的,它可以讓你做其他的事情,但是如果東西在10秒後還沒有完成,會發生什麼? - 再次產生一個新線程,然後再次產生,直到機器資源不足?當然,你可以使用多個線程,但是隻有在必要時纔會這樣做,因爲它會增加複雜性 – DAXaholic
那麼,有沒有一種方法可以執行其他任務,如果我遵循解決方案(即不使用線程)? – ChaoticTwist