Mysql
 sql >> база данни >  >> RDS >> Mysql

Време за изчакване на заявка за MySQLDB на python

усукано базирано решение на @nosklo е елегантен и работещ, но ако искате да избегнете зависимостта от twisted, задачата все още е изпълнима, напр.:

import multiprocessing

def query_with_timeout(dbc, timeout, query, *a, **k):
  conn1, conn2 = multiprocessing.Pipe(False)
  subproc = multiprocessing.Process(target=do_query,
                                    args=(dbc, query, conn2)+a, 
                                    kwargs=k)
  subproc.start()
  subproc.join(timeout)
  if conn1.poll():
    return conn1.recv()
  subproc.terminate()
  raise TimeoutError("Query %r ran for >%r" % (query, timeout))

def do_query(dbc, query, conn, *a, **k):
  cu = dbc.cursor()
  cu.execute(query, *a, **k)
  return cu.fetchall()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Трябва ли да използвам PreparedStatements за всички мои вмъквания в база данни в Java?

  2. pyodbc и mySQL

  3. MySQL транзакция и тригер

  4. Изчисляване на разстоянието Haversine между две точки в Laravel

  5. Как да работи MySQL, нечувствителен към малки и малки букви и нечувствителен към акцент в UTF-8