Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

batas waktu permintaan python MySQLDB

solusi berbasis bengkok @nosklo elegan dan bisa diterapkan, tetapi jika Anda ingin menghindari ketergantungan pada bengkok, tugas itu masih bisa dilakukan, mis:

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. Bisakah saya membuat file .htaccess dinamis?

  2. Memasukkan Variabel MySQL Menggunakan Python, Tidak Berfungsi

  3. Database MySQL dengan bidang unik mengabaikan spasi akhir

  4. MySQL Group_Concat() vs T-SQL String_Agg()

  5. Kapan saya harus menggunakan protokol terkompresi MySQL?