使用Python的非阻塞SQL执行

时间:2018-12-08 01:02:50

标签: python sql postgresql psycopg2

我的问题可能没有明确的答案,所以请让我知道我要做什么是不现实的。

我有一个Python脚本,可以运行几个独立的SQL语句。由于超时限制,等待语句完成执行不是一种选择。该声明仅供维护,不希望输出。有没有一种方法可以异步触发这些?

例如,使用psycopg2.cursor,我希望执行以下操作:

cursor.execute(sql_statement)
# Run next code block

1 个答案:

答案 0 :(得分:0)

配方为threading。以这种方式使用它:

from threading import Thread
Thread(target=cursor.execute, args=(sql_statement,)).start()

值得注意的是,直到这些线程完成,您的程序才能正确退出。如果这种行为对您来说不合适,您可能要注意subprocess模块,该模块能够创建独立运行的任务。