KamoCRM

Presence थोक reads and the stale-presence स्वीप स्टॉप using Redis KEYS

FixMediaService
शिप
23 सितंबर 2026 को 10:41 am बजे UTC
लेखक
Kamo
Commit
e696226

getBulkPresence/getBulkLastSeen ran KEYSENCE:*/PRESENCE LAST SEEN:* कॉल - हर उपस्थिति-सॉकेट माउंट और टैब फोकस पर हिट - और 30s स्वीप रन यह दो बार अधिक है, सभी उसी रेडिस के खिलाफ जो हर *** सत्र में रहता है। कुंजी पूरे कीस्पेस को चलना और अवरुद्ध करना; मंच पैमाने पर जो एक पूर्ण-रीडिस है एक अनुरोध पथ पर स्टाल, एक प्रति व्यक्ति नहीं। तीनों में से प्रत्येक अब स्कैनिंग के बजाय एक बनाए रखा सूचकांक पढ़ता है: - PRESENCE ORG INDEX:{orgId} - अंतिम दिल की धड़कन द्वारा बनाए गए सदस्य की एक ZSET, हैंडल द्वारा लिखा गया कनेक्ट/handleHeartbeat, हैंडल द्वारा हटा दिया गया डिस्कनेक्ट's अनुग्रह-अवधि हटाने। getBulkPresence इसे सीधे पढ़ता है (org scoping is by) अब निर्माण नहीं, प्रति उम्मीदवार orgId चेक); स्वीप का सदस्य आधा इसे ZRANGEBYSCORE के साथ पढ़ने के लिए केवल plausibly-stale उम्मीदवारों को ढूंढना। - PRESENCE ACTIVE ORGS - ऑर्ग ids का एक सेट, इसलिए स्वीप हर ओरग का दौरा कर सकता है। सदस्य डेटा स्कैन करके org ids की खोज के बिना सूचकांक। ********** - एक SET समर्थन getBulkLastSeen इसी तरह। पहले के समान स्वैप नहीं: व्यक्तिगत कुंजी का अपना 400-day TTL अभी भी यह क्या है? - PRESENCE PUBLIC INDEX - आगंतुक सत्रों के लिए एक फ्लैट ZSET (कोई ऑर्ग अवधारणा नहीं) उन्हें ऑर्ग द्वारा थोक में कुछ भी नहीं पढ़ा जाता है, जो स्वीप के सार्वजनिक आधे को खिलाता है। प्रत्येक प्रति आईडी हैश कुंजी (PRESENCE:, PRESENCE PUBLIC:, PRESENCE LAST SEEN:) है अपरिवर्तित - समान क्षेत्र, समान टीटीएल - और सत्य के एकल स्रोत को बरकरार रखता है अपनी खुद की स्थिति; एक सूचकांक केवल संकीर्ण है जो ids को देखा जाता है; एक पढ़ने या पढ़ने के लिए अभी भी किसी चीज पर भरोसा करने या रिपोर्टिंग करने से पहले वास्तविक हैश की जांच करें, और अगर हैश पहले से ही इसे जीवित रह चुका है तो स्वयं हील्स (सूचक प्रविष्टि को छोड़ देता है)। A पुनर्जीवित दिल की धड़कन (की समाप्ति मध्य सत्र के बाद) अभी भी एक org को जिम्मेदार नहीं ठहराया जा सकता - उसी अंतर में पुराने KEYS+HGET ("orgId") स्कैन थे, क्योंकि उस पथ ने कभी लिखा नहीं क्षेत्र भी; केवल org-bulk दृश्य प्रभावित होता है, पहले से ही अपरिवर्तित होता है। PresenceBulkLookupTest (new) और PresenceSweepTest (Rewritten for PresenceBulkLookupTest) नई खोज तंत्र, पहले की तरह ही व्यवहार पिन "कभी भी Keys" check, mutation-checked. हैंडल कनेक्ट, getBulkPresence में स्वयं हील शाखा, और हैकी गार्ड स्वीप में प्रत्येक एक विशिष्ट दावे लाल हो जाता है।.

सभी बदलाव

जैसा कि आप शिपिंग देखते हैं?

यह सब अपने कार्यक्षेत्र में आता है। मुफ्त योजना शुरू करें और इस पृष्ठ को एक महीने में फिर से पढ़ें।.

Foreverमूल्य निर्धारण देखें