Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पायथन MySQLDB क्वेरी टाइमआउट

@nosklo's twisted-based Solution सुरुचिपूर्ण और व्यावहारिक है, लेकिन यदि आप मुड़ पर निर्भरता से बचना चाहते हैं, तो कार्य अभी भी करने योग्य है, उदा:

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. django . में DISTINCT ON

  2. जितनी जल्दी हो सके एक MySQL डेटाबेस में बहुत बड़ी संख्या में रिकॉर्ड कैसे डालें?

  3. क्या मैं MySQL में डिफ़ॉल्ट मान के लिए फ़ंक्शन का उपयोग कर सकता हूं?

  4. अनुक्रम में MySQL परिणामों को ऑर्डर करना?

  5. यदि कोई प्रविष्टि मौजूद नहीं है तो बनाएं, अन्यथा अपडेट करें?