Python:每隔n秒轮询一个SQL数据库,并根据它执行一个任务
Python: Polling a SQL database every n seconds and executing a task based on it
我想制作一个程序,每 n 秒 (n>10) 轮询一个 SQL 数据库。它验证特定列中的数据并根据它调用函数。
例如,
when column has '1' -> call function1
when column has '2' -> call function2
when column has '3' -> exits
我研究了多线程并看到了一个基于 threading.timer
的解决方案,它能满足我的用例吗?
另外,我可以接受最多 +/-1 秒的时间漂移。
根据查询的复杂性和调用的函数,您可能不需要多线程。如果您的查询运行速度很快并且您的函数调用很便宜,那么只需使用最简单的解决方案来完成这项工作,即进行轮询的循环,调用您的函数,然后在剩余时间内休眠。
如果你想每 10 秒调用一次,而你的查询用了 1 秒,函数调用用了 1 秒,那么休眠 8 秒,这样你的时间漂移就不会随着时间的推移而增加。
我想制作一个程序,每 n 秒 (n>10) 轮询一个 SQL 数据库。它验证特定列中的数据并根据它调用函数。
例如,
when column has '1' -> call function1
when column has '2' -> call function2
when column has '3' -> exits
我研究了多线程并看到了一个基于 threading.timer
的解决方案,它能满足我的用例吗?
另外,我可以接受最多 +/-1 秒的时间漂移。
根据查询的复杂性和调用的函数,您可能不需要多线程。如果您的查询运行速度很快并且您的函数调用很便宜,那么只需使用最简单的解决方案来完成这项工作,即进行轮询的循环,调用您的函数,然后在剩余时间内休眠。
如果你想每 10 秒调用一次,而你的查询用了 1 秒,函数调用用了 1 秒,那么休眠 8 秒,这样你的时间漂移就不会随着时间的推移而增加。