2010-11-03 23 views
7

मेरे पास एक आईफोन ऐप अधिसूचनाएं भेज रहा है और सबकुछ ठीक काम कर रहा है ... कभी-कभी छोड़कर :)आईफोन और नोटिफिकेशन: अधिसूचनाओं की अधिकतम संख्या?

मुझे समझाएं: मैं नोटिफिकेशन भेजने के लिए एक बहुत ही सरल PHP स्क्रिप्ट का उपयोग कर रहा हूं (stream_context_create विधि का उपयोग करके) लेकिन कुछ उपयोगकर्ता मुझे बताया कि उन्हें कुछ अधिसूचनाएं नहीं मिलती हैं। जाहिर है, मुझे कुछ मामलों का सामना करना पड़ सकता है जहां मुझे एक मिनट के भीतर 50,000 अधिसूचनाएं भेजने की आवश्यकता है और मुझे लगता है कि यह समस्या हो सकती है। मैं सभी अधिसूचनाएं भेजने के लिए एक एकल स्ट्रीम का उपयोग कर रहा हूं।

क्या आप में से कोई भी ऐसे मुद्दे का सामना कर रहा था? क्या मुझे कई धाराओं में विभाजित करने की ज़रूरत है? क्या स्ट्रीम में भेजे जा सकने वाले अधिसूचनाओं की अधिकतम संख्या के बारे में कोई जानकारी है?

धन्यवाद :)

संपादित करें 1

"स्पीड" यहां मुद्दा नहीं है: मैं अपनी सभी अधिसूचनाओं को एक मिनट के भीतर ऐप्पल में धक्का दे सकता हूं (मुझे भविष्य में कुछ समस्याएं हो सकती हैं अगर मेरे उपयोगकर्ताओं की संख्या बढ़ती है लेकिन यह ठीक है एटीएम)। जिस समस्या को मैं यहां देखता हूं वह यह है कि ऐप्पल मुझे स्पैमर या कुछ समझ सकता है और मेरी सभी 50,000 अधिसूचनाएं नहीं देता है:/क्या आप लोगों को कोई विचार है कि मैं इसके बारे में कैसे सुनिश्चित कर सकता हूं?

+1

क्या आपने डेमॉन स्क्रिप्ट बनाने और अधिसूचनाओं को एक स्टैक पर धक्का देने पर विचार किया है जिसे डिमन उचित गति से संभालता है? यदि आपकी सूचनाएं देर से पांच मिनट तक पहुंच सकती हैं, तो मुझे लगता है कि यह पूरी तरह से भाषा/आदि को बदलने के बिना एक उचित समाधान है। –

+0

बस मेरी पोस्ट संपादित की, मुझे एहसास हुआ कि मेरा प्रश्न वास्तव में सटीक नहीं था – Vivi

+0

अच्छा, मुझे पता है कि हमें apns के साथ एक ही समस्या है। मुझे लगता है कि हमने इसे कतार का उपयोग करके हल किया है और केवल ऐप्पल को प्रति सेकेंड अधिसूचनाओं की एक कैप्ड मात्रा भेज रही है। मुझे बिल्कुल पता नहीं है कि यह टोपी क्या है लेकिन आप इसे देखना और थोड़ा प्रयोग करना चाहेंगे। – Rengers

उत्तर

5

मैं इस बारे में एक एप्पल डेवलपर प्रतिनिधि पूछा और बताया गया था कोई दर सीमा वहाँ थे और उस प्रणाली एक अधिसूचना कभी नहीं छोड़ दिया था।

फिर कुछ ही टोकन (यह 12 महीने पहले, जब पुश अभी भी अपेक्षाकृत नया था था, तो वे तब से नीतियों को बदल दिया है सकते हैं)

+0

बस एक टिप्पणी: जब ऐप्पल को स्ट्रीम सामग्री भेजती है, जब भी एक आक्रमणकारी टोकन का पता लगाया जाता है, तो कनेक्शन बंद हो जाता है। तो सुनिश्चित करें कि जब भी आप अपना डेटा भेजते हैं कि fwrite() सफल था। – Vivi

1

मैं नहीं बल्कि एक पटकथा भाषा जा रहा है, सी PHP में सूचना भेजने के लिए कोड का विकास होता है, नहीं (शायद) प्रति मिनट 50K अधिसूचना को संभालने के लिए आवश्यक गति गारंटी ले सकते हैं। इसके अलावा, आपको नवीनतम पीढ़ी के सीपीयू और बहुत सारी मेमोरी के साथ एक बहुत ही बड़े पैमाने पर प्रावधान सर्वर की आवश्यकता हो सकती है। दरअसल, आपको आवश्यक क्यूओएस से मिलने के लिए, आपको प्रति सेकंड लगभग 14 अधिसूचनाएं भेजने में सक्षम होना चाहिए। मुझे संदेह है कि PHP वास्तव में इस दर से निपटने में सक्षम है।

अतीत में मैं अपने खुद के प्रदाता था, और मेरी QOS एक आप की आवश्यकता की तुलना में काफी कम था। तब मैंने एक वाणिज्यिक सेवा प्रदाता, शहरी एयरशिप में स्विच करने का फैसला किया। मैंने पाया है कि यह सेवा एक आकर्षण की तरह काम करती है। किसी भी उपयोगकर्ता ने कभी-कभी एक अनुपलब्ध अधिसूचना की सूचना दी है। आपको इसके लिए भुगतान करना होगा, लेकिन इस सामान को अपने आप से संभालना एक अविश्वसनीय परेशानी साबित हो सकता है।

+0

बस मेरी पोस्ट संपादित की गई, मुझे एहसास हुआ कि मेरा प्रश्न वास्तव में सटीक नहीं था – Vivi

0

अगर कोई सूचना सेटिंग में एक विफलता है (यानी बुरा टोकन), आगे बढ़ना इसे याद किया जाता है। यह मेरा अनुभव रहा है, इसलिए मैं एक समय में एक टोकन भेजता हूं। एक बुरे टोकन के अलावा, कोई और असफलता नहीं।

0

मैं ठीक उसी मुद्दे में चलाने की है, लेकिन धारा प्रति अब तक कम धक्का के साथ। मेरे मामले में, मैंने अपने सभी संदेशों को लगभग 250, उसी स्ट्रीम पर धक्का दिया, और कोई भी वितरित नहीं किया जाएगा। ऐसा लगता है कि एक खराब टोकन विफलता का कारण प्रतीत होता है, लेकिन अब तक मुझे यकीन नहीं है कि खराब टोकन क्या है।

मैंने कहीं और पढ़ा है जो एक सैंडबॉक्स पर्यावरण में वितरण टोकन का उपयोग करके संदेशों को धक्का दे रहा है और वितरण वातावरण में सैंडबॉक्स टोकन का उपयोग करके संदेशों को धक्का देकर स्ट्रीम विफल हो सकता है, लेकिन मैंने दोनों वातावरण में टोकन मिश्रित किए हैं और नहीं मिस्ड संदेश, लेकिन मैं उस समय केवल एक स्ट्रीम में कुछ संदेश दबा रहा था।

लंबी कहानी कम: मैं धारा प्रति एक संदेश धक्का कर रहा हूँ, और यह ठीक काम करता है। यह 250 संदेशों को धक्का देने के लिए सेकंड के क्रम में होता है, जो बहुत अक्षम लगता है, लेकिन यह मेरे लिए सिर्फ एक मामूली उपद्रव है।

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