python - 使用 Python 的非阻塞 SQL 执行

标签 python sql postgresql psycopg2

我的问题可能没有明确的答案,所以如果我尝试做的事情不切实际,请告诉我。

我有一个运行多个独立 SQL 语句的 Python 脚本。由于超时限制,等待语句完成执行不是一种选择。这些语句用于维护,预计不会有任何输出。有没有办法异步触发这些?

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

cursor.execute(sql_statement)
# Run next code block

最佳答案

秘诀是线程。以这种方式使用它:

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

值得注意的是,在这些线程完成之前,您的程序无法正常退出。如果这种行为不适合您,您可以关注 subprocess 模块,它能够创建独立运行的任务。

关于python - 使用 Python 的非阻塞 SQL 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53678592/

相关文章:

python - 使用 bs4 webscraping 通过内容获取 HTML 类属性

ruby-on-rails - 新分配的序列不起作用

sql - 如何优化这个选择

mysql - SQL - 如何列出低于平均水平的项目

mysql - 使用带有插入的参数的JMeter sql语法错误

sql - 如何在 SQL(Postgres) 中强制执行过滤器评估顺序?

postgresql - Kubernetes pod 如何连接到与主机在同一本地网络(集群外)中运行的数据库?

python - 如何将数据帧导出到谷歌云存储桶中的csv

python - 高级 Python pandas reshape

python - Pandas fillna : Output still has NaN values