Неблокирующее выполнение SQL с использованием Python

1

Мой вопрос может не иметь четкого ответа, поэтому, пожалуйста, дайте мне знать, если то, что я пытаюсь сделать, нереально.

У меня есть сценарий Python, который выполняет несколько независимых операторов SQL. Из-за ограничений по времени ожидания, когда операторы заканчивают выполнение, не вариант. Заявления предназначены для технического обслуживания, и выход не ожидается. Есть ли способ их асинхронного запуска?

Например, используя psycopg2.cursor, я ожидаю сделать следующее:

cursor.execute(sql_statement)
# Run next code block
  • 0
    Запустите их в отдельных потоках.
Показать ещё 1 комментарий
Теги:
psycopg2

1 ответ

0

Рецепт threading. Используйте это так:

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

Стоит отметить, что ваша программа не может корректно завершить работу, пока эти потоки не будут завершены. Если это поведение неприемлемо для вас, вы можете обратить внимание на модуль subprocess, который способен создавать независимо выполняемые задачи.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню