2009-12-13 8 views
11

मैं अजगर (टर्ननाडो, मुड़ आदि) के लिए गैर-अवरुद्ध सर्वरों में देख रहा हूं लेकिन डेटाबेस में कोई गैर-अवरुद्ध कनेक्शन नहीं होने पर बहुत से लाभ खो जाएंगे। क्या किसी को पता है कि क्या ऐसी कोई परियोजना है जो इसका ख्याल रखती है? (द्वारा एक ला Node.js गैर अवरुद्ध)क्या किसी को पाइथन के लिए एसिंक्रोनस mysql lib के बारे में पता है?

संपादित करें: स्पष्ट मेरे सवाल

उत्तर

1

तरह से आप ऐसा कर एक अलग थ्रेड में डेटाबेस प्रश्नों को उत्पन्न करने के द्वारा होता है। ट्विस्ट के साथ आप deferToThread() या deferToThreadPool() का उपयोग कर सकते हैं (API दस्तावेज़ 1 देखें)।

+2

इसके अतिरिक्त, twisted.enterprise.adbapi विशेष रूप से 'deferToTreadPool'' के शीर्ष पर एक डीबी-एपीआई-जैसी एपीआई प्रदान करता है ताकि विशेष रूप से ट्विस्ट-आधारित एप्लिकेशन में MySQL और अन्य rdbms तक पहुंच आसान हो सके। –

13

आप एक सिंक्रोनस डीबीएपीआई कार्यान्वयन को लपेटने के लिए ट्विस्टेड ADBAPI का उपयोग कर सकते हैं।

उदा .:

from twisted.internet import reactor 
from twisted.enterprise import adbapi 

def result(rows): 
    for row in rows: 
     print row 

    reactor.stop() 

def fail(err): 
    err.printDetailedTraceback() 
    reactor.stop() 

pool = adbapi.ConnectionPool('sqlite3', 'animals.db') 
d = pool.runQuery('SELECT * FROM animals',()) 
d.addCallbacks(result, fail) 
reactor.run() 
4

चेक बाहर हमारे नए txMySQL project जो अब ऐसा कर सकते हैं।

यह बाइनरी MySQL प्रोटोकॉल का मूल असीमित कार्यान्वयन है।

संबंधित मुद्दे

 संबंधित मुद्दे