बस सोच रहा है कि आप यह कैसे करेंगे। क्या आपके पास कुछ प्रकार की प्रक्रिया होगी जो पिछले X मिनट में हुई सभी कार्रवाइयों के माध्यम से स्कैन की गई हो? क्या आप हर बार किसी भी कार्रवाई के दौरान बैज अपडेट चेक ट्रिगर करेंगे (ऊपर वोट, वोट, टैग, इत्यादि)? ऐसा लगता है कि यह अपेक्षाकृत महंगी प्रक्रिया एक तरह से या दूसरी होगी।स्टैक ओवरव्लो की तरह बैज सिस्टम को कैसे कार्यान्वित किया जाएगा?
उत्तर
शायद दोनों का थोड़ा सा। जब भी कोई कार्रवाई हुई थी, तो शायद मैं एक चेक को कतार में रखूंगा और एक प्रक्रिया है जो कतार में जाती है और यह निर्धारित करती है कि प्रत्येक चेक के लिए बैज अर्जित किया गया है या नहीं। इस तरह से पृष्ठों को लोड करने में अधिक समय लगने के बिना अर्ध-वास्तविक समय होता है। असल में, यहां स्टैक ओवरफ्लो पर मैंने बैज अर्जित किए जाने के बीच में देरी देखी है और जब सिस्टम इसे महसूस करता है, तो यह साइट शायद एक ही दृष्टिकोण का उपयोग करती है।
ध्यान दें कि यह वास्तव में स्टैक ओवरफ़्लो पर वास्तविक समय नहीं है - यह मेरे कुछ बैज को कुछ पेज रीफ्रेश करने के लिए रीफ्रेश करता है। –
SO एक आवर्ती कार्य की नकल करने के लिए सर्वर कैश कॉलबैक से जुड़े एक हैक का उपयोग करता है। यह पॉडकास्ट में से एक में चर्चा की गई है। –
+1 मुझे अभी एहसास हुआ कि आप इसे प्रत्येक क्रिया पर भी गणना कर सकते हैं, लेकिन इसे एक अलग थ्रेड में करें ताकि साइट प्रदर्शन धीमा न हो। –
मैं व्यक्तिगत रूप से एक क्रॉन नौकरी या इसी तरह से नियमित रूप से संसाधित करता हूं। शायद "नकली क्रॉन" प्रवाह प्रणाली पर, जहां मेरे पास एक अदृश्य छवि कॉल होगी और आंतरिक "क्रॉन स्टैक" के माध्यम से जाना होगा ताकि यह देखने के लिए कि क्या करने की आवश्यकता है।
बैज का एक बहुत हालांकि, आवश्यकता नहीं होनी चाहिए कि उन लोगों के साथ करने के लिए बहुत ... वे एक अच्छी तरह से तैयार की गई क्वेरी के साथ किया जा करने के लिए सक्षम होना चाहिए
खाली 1x1 छवियां 2002 है। 200 9 में बेहतर तरीके हैं, जिनमें से कई इस धागे में उल्लिखित हैं। – phidah
मैं एक अद्यतन हर बार जब कोई ट्रिगर नहीं करेगी एक कार्रवाई की; इसके बजाय मैं एक बैच प्रक्रिया करता हूं जो अंतिम मिनट में किए गए प्रत्येक क्रिया को देखता है, प्रत्येक उपयोगकर्ता के "मिनट पहले" स्थिति के साथ चीजों को जोड़ता है, और उस पर आधारित नए बैज देता है।
क्यों सभी नकारात्मक वोट? –
'हुक/ट्रिगर्स' वाले डेटाबेस का उपयोग करें। फिर आप कुछ राज्य परिवर्तनों पर एक ईवेंट ट्रिगर कर सकते हैं, उदाहरण के लिए कहें, आपके पास एक सारणी है जो किसी दिए गए उत्तर पर प्रत्येक एकल वोट को रिकॉर्ड करती है।
आप जानते हैं कि उत्तर> 10 उपवृत्त == "अच्छा उत्तर", तो आप केवल एक ट्रिगर डाल देंगे जो तब होता है जब LAST_STATE = 9 और NEXT_STATE = 10 और ENTRY_AWARDED_GOODANSWER = false।
पोस्टग्रेस्क्ल ऐसे ऐसे डेटाबेस हैं जो ऐसे ट्रिगर्स का समर्थन करते हैं।
यहां अधिक पढ़ें: http://www.postgresql.org/docs/8.1/static/triggers.html
क्या ट्रांजैक्शन निष्पादित होने पर # ऊपर दिए गए वोट अपडेट करने वाले लेन-देन का इंतजार होगा? या ट्रिगर निष्पादन एसिंक्रोनस है? –
पोस्टग्रेज़ में एमवीसीसी। मुझे समझ में नहीं आता कि यह कैसे काम करता है, लेकिन 2 लोग एक ही पंक्तियों का उपयोग कर सकते हैं और मुद्दों नहीं हैं। ट्रिगर/क्वेरी/ट्रिगरिंग क्वेरी के हिस्से के रूप में होने के लिए, सही ट्रिगर में सही कमांड करके बस परिवर्तन को समाप्त कर सकते हैं। –
मैं शायद एसक्यूएल सर्वर में एक सेवा ब्रोकर कतार प्रयोग करेंगे पर कतार और सक्रियण प्रक्रिया एक समय में गतिविधियों का एक समूह ऊपर उठाता है और एक बिल्ला के खिलाफ इसे चलाता कार्यों भेजने के लिए जांच प्रक्रिया। उदाहरण के लिए एक बैज नियम इंजन।
खान अकादमी रीयल-टाइम में बैज प्रदान करने के लिए बहुत अधिक समय तक जाती है। वे तर्क देते हैं कि वेबसाइट की गेमी-भावना के लिए यह महत्वपूर्ण है। उनके पास एक बैच नौकरी भी होती है जो समय-समय पर किसी भी मिस्ड बैज के डेटा और पुरस्कार का पुनर्मूल्यांकन करती है।
Ben Kamens, Badges on App Engine: Implementing a real-time...। ब्लॉग जनवरी 2011 में प्रकाशित हुआ था, इसलिए चीजें बाद में बदल गईं।
- 1. .NET में PodPress को कार्यान्वित करने के लिए कैसे करें (बस स्टैक ओवरव्लो ब्लॉग की तरह)
- 2. बैज को कैसे कार्यान्वित करें?
- 3. स्टैक ओवरव्लो एपीआई
- 4. एमएसटीएस्ट - स्टैक ओवरव्लो एक्सेप्शन
- 5. वेबसाइट बैज सिस्टम
- 6. बैज असाइनिंग सिस्टम
- 7. रिकर्सिव फ़ंक्शंस में स्टैक ओवरव्लो को रोकना
- 8. जावा स्टैक ओवरव्लो एररलिस्ट को हैश मैप
- 9. उपलब्धियां/बैज सिस्टम
- 10. कार्य-चारों ओर एक स्टैक ओवरव्लो एक्सेप्शन
- 11. अन्य प्लेटफार्मों पर सिस्टम ट्रे एप्लिकेशन कैसे पूरा किया जाएगा?
- 12. ग्राफ़-संरचित स्टैक को कैसे कार्यान्वित करें?
- 13. लिनक्स में सिस्टम कॉल कैसे कार्यान्वित किया जाता है?
- 14. एएसपी.नेट एमवीसी उपयोगकर्ता रूटिंग जैसे स्टैक ओवरव्लो में?
- 15. इस छवि की तरह ट्रैकबार को कैसे कार्यान्वित करें - एंड्रॉइड?
- 16. कोको/आईबी में मेल/आईट्यून्स/फाइंडर/आदि जैसे साइडबार को कैसे कार्यान्वित किया जाएगा?
- 17. फाइल सिस्टम में fseek() कैसे कार्यान्वित किया जाता है?
- 18. एसओ की तरह प्रतिष्ठा-आधारित उपयोगकर्ता अनुमतियों को कैसे कार्यान्वित करें?
- 19. स्टैक ओवरव्लो-जैसे संपादन टूल का उपयोग करके होस्टेड विकी?
- 20. schema.org को कैसे कार्यान्वित किया जाए?
- 21. मैं वोटिंग सिस्टम कैसे कार्यान्वित करूं?
- 22. बैज/उपलब्धियां
- 23. उपयोगकर्ता बैज
- 24. मैं रेल का उपयोग कर स्टैक ओवरव्लो के समान "प्रतिष्ठा" प्रणाली कैसे बना सकता हूं?
- 25. एक एमवीसी ऐप में RavenDb का उपयोग करके प्रमाणीकरण और प्रमाणीकरण कैसे कार्यान्वित किया जाएगा?
- 26. iScroll आइटम को क्लिक नहीं किया जाएगा
- 27. स्टैक ओवरव्लो कैसे जानता है जब किसी प्रश्न के नए उत्तर होते हैं?
- 28. स्टैक आकार की निगरानी करके स्टैक ओवरफ़्लो को कैसे रोकें?
- 29. कोडइग्निटर में टेम्पलेट सिस्टम वर्डप्रेस की तरह?
- 30. मैं स्टैक ओवरव्लो जैसे समृद्ध टेक्स्ट इनपुट बॉक्स फ़ील्ड कैसे बना सकता हूं?
जेफ एटवुड को एक ईमेल भेजें, वह शायद आपको बताएगा कि उन्होंने वास्तव में यह कैसे किया और यदि मुझे सही याद है तो शायद पॉडकास्ट या शायद ब्लॉग में अप्रत्यक्ष रूप से चर्चा की जा सकती है। मैं भूल गया। –