Я создаю RESTful API, которому необходим доступ к базе данных. Я использую Restish, Oracle и SQLAlchemy. Однако я постараюсь сформулировать свой вопрос как можно более обобщенно, не принимая во внимание Restish или другие веб-API.
Я бы хотел установить время ожидания для соединения, выполняющего запрос. Это необходимо для того, чтобы длительные запросы были отменены, а соединение отброшено (или перезапущено). Этот тайм-аут запроса может быть глобальным значением, то есть мне не нужно изменять его для каждого запроса или создания соединения.
С учетом следующего кода:
import cx_Oracle
import sqlalchemy.pool as pool
conn_pool = pool.manage(cx_Oracle)
conn = conn_pool.connect("username/p4ss@dbname")
conn.ping()
try:
cursor = conn.cursor()
cursor.execute("SELECT * FROM really_slow_query")
print cursor.fetchone()
finally:
cursor.close()
Как я могу изменить приведенный выше код, чтобы установить для него время ожидания запроса?
Будет ли этот тайм-аут также применяться к созданию соединения?
Это похоже на то, что метод java.sql.Statement setQueryTimeout (int seconds) делает в Java.
Спасибо