2010-07-26 19 views
6

लॉग इन करने का सबसे अच्छा तरीका हम रेलवे webservice में रिवर्स-जियोकोडिंग का उपयोग कर रहे हैं, और geokit के माध्यम से Google रिवर्स जियोकोडर का उपयोग करते समय कोटा समस्याओं में भाग लेते हैं। हम सरल-भौगोलिक सेवा भी कार्यान्वित कर रहे हैं, और मैं यह ट्रैक करने में सक्षम होना चाहता हूं कि हम प्रति मिनट/घंटे कितने अनुरोध कर रहे हैं।एपीआई कॉल, प्रति मिनट/प्रति घंटा

हमारे रिवर्स-जियोकोडिंग कॉल को ट्रैक करने के लिए कोई सुझाव?

हमारा कोड निम्न जैसा दिखाई देगा। क्या आप इनमें से कोई भी करेंगे?

  • दैनिक पृष्ठभूमि
  • उपयोग एक सुपर शानदार मणि है कि मैं उस के बारे में पता नहीं है में एक कस्टम लकड़हारा और प्रक्रिया जोड़ें कोटा और आसानी से
  • रेटिंग डेटाबेस में एक कॉल डालें और वहाँ प्रश्नों क्या करता है ।

नोट: मुझे वास्तविक समय में डेटा की आवश्यकता नहीं है, बस एक घंटे की अवधि में जानना चाहते हैं, प्रति घंटे हमारे सामान्य और अधिकतम अनुरोध क्या हैं। (और कुल मासिक अनुरोध)

def use_simplegeo(lat, lng) 
    SimpleGeo::Client.set_credentials(SIMPLE_GEO_OAUTHTOKEN, SIMPLE_GEO_OAUTHSECRET) 
    # maybe do logging/tracking here? 
    nearby_address = SimpleGeo::Client.get_nearby_address(lat, lng) 

    located_location = LocatedLocation.new 
    located_location.city = nearby_address[:place_name] 
    located_location.county = nearby_address[:county_name] 
    located_location.state = nearby_address[:state_code] 
    located_location.country = nearby_address[:country] 
    return located_location 

end 

धन्यवाद!

उत्तर

2

यहां पहला भाग आपके द्वारा पूछे जा रहे प्रश्न का उत्तर नहीं दे रहा है, लेकिन अगर पहले इसे नहीं माना गया तो मेरी मददगार हो।

क्या आपने अपने सर्वर (यानी जियोकिट के माध्यम से) का उपयोग कर अपने रिवर्स जियोकोडिंग को नहीं देखा है, बल्कि क्लाइंट द्वारा ऐसा करने के बजाय? दूसरे शब्दों में कुछ जावास्क्रिप्ट उपयोगकर्ता के ब्राउजर में लोड हो गया है जिससे Google geocoder API आपकी सेवा की ओर से कॉल करता है।

आपके आवेदन इस से इस दृष्टिकोण का समर्थन कर सकता है फायदे की एक संख्या है, तो:

  • आपका कोटा समस्या को हल मिलता है क्योंकि आपके वितरित उन दोनों का अपना दैनिक कोटा है और तुम्हारा
  • का उपभोग नहीं करते आप

यदि आप अभी भी अपने geocoder प्रश्नों को लॉग करना चाहते हैं और आप अपने प्राथमिक एप्लिकेशन डेटाबेस पर प्रदर्शन प्रभाव के बारे में चिंतित हैं तो आप सर्वर संसाधनों का खर्च नहीं करते हैं तो आप एक ओ पर विचार कर सकते हैं एफ निम्नलिखित विकल्पों:

  1. लॉगिंग के लिए बस एक अलग डेटाबेस (या डेटाबेस) बनाएं (जो गहन लिखते हैं) और इसे समकालिक रूप से करें। संबंधपरक हो सकता है लेकिन शायद मोंगोडीबी या रेडिस या तो
  2. फ़ाइल सिस्टम (कस्टम लॉगर के साथ) पर लॉग इन कर सकता है और फिर बाद में संरचित, queriable संग्रहण में बैचों में क्रॉन कर सकता है। अगर स्टोरेज बेहतर काम करता है तो भंडारण अमेज़ॅन के एस 3 पर बाहरी हो सकता है।
  3. बस हर बार जब आप एक जियोकोड करना SimpleGeo में एक रिकार्ड लिख सकते हैं और कस्टम उन रिकॉर्ड करने के लिए मेटा डेटा जोड़ने के अपने स्वयं के मॉडल (रों)
+0

जावास्क्रिप्ट के बारे में करने के लिए उन्हें वापस टाई - मैं अच्छा लगेगा , लेकिन यह एक एपीआई है, इसलिए आईफोन अपने लेट/एलएनजी के साथ भेज रहे हैं और रिवर्स कोडिंग नहीं कर सकते हैं। चूंकि हम हेरोकू पर हैं, मुझे नहीं लगता कि मैं फ़ाइल-सिस्टम लॉग कर सकता हूं; तो शायद मोंगो डीबी जाने का रास्ता हो सकता है। –

+0

तो यह एक आईफोन ऐप है और वहां कोई ब्राउज़र नहीं चल रहा है और मुझे लगता है कि आप यह नियंत्रित नहीं करते कि लैट/एलएनजी सामान कैसे इकट्ठा या भेजा जाता है? और आप Heroku पर फाइल सिस्टम के बारे में सही हैं।लेकिन आप एस 3 का उपयोग कर सकते हैं और केवल स्टोरेज (बैंडविड्थ नहीं) के लिए भुगतान कर सकते हैं या हाल ही में लॉन्च मोंगोएचक्यू एड-ऑन – bjg

+0

का उपयोग कर सकते हैं सभी खातों पर! एक MongoHQ कार्यान्वयन की ओर झुकाव ... समय अवधि के अनुसार समूह पर कोई विचार? (प्रति सेकंड एक अनुरोध प्राप्त करना)? क्या आप बस अनुरोध करेंगे.all.group_by दूसरा/घंटा/जो भी हो? –

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