Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस की पबसुब टाइमआउट सुविधा को कैसे कार्यान्वित करें?

क्योंकि आप थ्रेडिंग नहीं कर रहे हैं (और मुझे लगता है कि यह जानबूझकर है और कुछ मामलों में बुद्धिमान है) आपको एक प्रकार की बाधा का उपयोग करना होगा। सिग्नल यूनिक्स सिस्टम पर एक प्रकार का व्यवधान है जो आपको कॉल के दौरान कॉलबैक पर लौटने की अनुमति देता है जो अवरुद्ध हो सकता है।

खुली हुई फ़ाइल का यह उदाहरण जो कभी वापस नहीं आएगी, आप जो करना चाहते हैं उसके अनुरूप है। इसे http://docs.python.org/library/signal.html#module-signal

से लिया गया है।

लेकिन एक चेतावनी। चूंकि पायथन ओएस सिग्नल को संभालने के लिए ग्लोबल इंटरप्रेटर लॉक का उपयोग करता है, इसलिए यह कुछ स्थिरता समस्याओं के अधीन है। हालांकि ये समस्याएं सामान्य रूप से दुर्लभ होनी चाहिए।

import signal, os

def handler(signum, frame):
    print 'Signal handler called with signal', signum
    raise IOError("Couldn't open device!")

# Set the signal handler and a 5-second alarm
signal.signal(signal.SIGALRM, handler)
signal.alarm(5)

# This open() may hang indefinitely
fd = os.open('/dev/ttyS0', os.O_RDWR)

signal.alarm(0)          # Disable the alarm


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जावा क्लाइंट के साथ की-वैल्यू डेटाबेस

  2. रेडिस में लुआ लिपि के निष्पादन समय का निर्धारण कैसे करें?

  3. नोड रेडिस, चर ग्राहकों के बीच साझा किए जाते हैं?

  4. पायथन रेडिस इंटरैक्शन

  5. रेडिस क्लस्टर के साथ, हैश टैग को निकालने के लिए केवल पास करना संभव है?