का उपयोग कर DNS क्वेरी कुछ DNS क्वेरी करने के लिए मैं Google App Engine के लिए नए सॉकेट समर्थन का उपयोग करने का प्रयास कर रहा हूं। मैं क्वेरी करने के लिए dnspython का उपयोग कर रहा हूं, और कोड GAE के बाहर ठीक काम करता है।Google ऐप इंजन सॉकेट
कोड है निम्नलिखित:
class DnsQuery(webapp2.RequestHandler):
def get(self):
domain = self.request.get('domain')
logging.info("Test Query for "+domain)
answers = dns.resolver.query(domain, 'TXT', tcp=True)
logging.info("DNS OK")
for rdata in answers:
rc = str(rdata.exchange).lower()
logging.info("Record "+rc)
जब मैं GAE में चला मैं निम्नलिखित त्रुटि मिलती है:
File "/base/data/home/apps/s~/one.366576281491296772/main.py", line 37, in post
return self.get()
File "/base/data/home/apps/s~/one.366576281491296772/main.py", line 41, in get
answers = dns.resolver.query(domain, 'TXT', tcp=True)
File "/base/data/home/apps/s~/one.366576281491296772/dns/resolver.py", line 976, in query
raise_on_no_answer, source_port)
File "/base/data/home/apps/s~/one.366576281491296772/dns/resolver.py", line 821, in query
timeout = self._compute_timeout(start)
File "/base/data/home/apps/s~/one.366576281491296772/dns/resolver.py", line 735, in _compute_timeout
raise Timeout
कौन सा dnspython द्वारा उठाया जाता है जब कोई जवाब नहीं समय सीमा के भीतर दिया जाता है। मैंने timelimit 60 सेकंड तक बढ़ाया है, और DnsQuery एक कार्य है, लेकिन फिर भी वही त्रुटि मिल रही है।
क्या Google App Engine सॉकेट कार्यान्वयन में कोई सीमा है, जो DNS अनुरोधों को निष्पादित करने से रोकती है?
मुझे Google App Engine के साथ भी एक ही समस्या है। – Uri
@Cyril N: जाँच करें कि इसके अलावा में किसी सशुल्क ऐप तो आपको उसके लिए एक दैनिक बजट निर्धारित करने के लिए - पिछले साल कम से कम के कुछ चुकता केवल ठीक से काम नहीं सुविधाओं तक दैनिक बजट प्रारंभ किया गया था रिपोर्टों थे। –
@DanCornilescu मैं बिलिंग> बजट और अलर्ट के पास गया और मैं पहले से ही कुछ threesholds की एक चेतावनी परिभाषित किया है। क्या आपका आशय यही था? मैंने http://stackoverflow.com/a/10894376/330867 पर पढ़ा है कि Google आपके मेल कोटा को बढ़ाने से पहले पहला भुगतान साफ़ होने तक प्रतीक्षा करेगा। ' शायद यह मेरा मुद्दा है। लेकिन तब मैं अपने App इंजन> कोटा के पास गया, और मैं देख सकता हूँ कि सॉकेट प्रविष्टि के अंतर्गत, मेरे ऐप कुछ अनुरोध किया था (शायद अजगर पैकेज 'requests', जो मैं का उपयोग का उपयोग)। तो 'सॉकेट' को काम करना चाहिए, लेकिन 'dnspython' के साथ नहीं? –