के साथ बातचीत करना मेरे पास एक लंबी चल रही पायथन लिपि है जो ट्विटर से ट्वीट एकत्र करती है, और मैं जानना चाहता हूं कि यह थोड़ी देर में हर बार कैसे कर रहा है।लंबे समय से चलने वाले पायथन स्क्रिप्ट
वर्तमान में, मैं इंटरप्ट्स को पकड़ने के लिए signal
लाइब्रेरी का उपयोग कर रहा हूं, जिस बिंदु पर मैं अपना प्रिंट फ़ंक्शन कॉल करता हूं। कुछ इस तरह:
import signal
def print_info(count):
print "#Tweets:", count
#Print out the process ID so I can interrupt it for info
print 'PID:', os.getpid()
#Start listening for interrupts
signal.signal(signal.SIGUSR1, functools.partial(print_info, tweet_count))
और जब भी मैं अपने जानकारी चाहते हैं, तो मैं एक नया टर्मिनल खोलने और मेरी व्यवधान जारी करते हैं:
$kill -USR1 <pid>
वहाँ यह करने के लिए एक बेहतर तरीका है? मुझे पता है कि मेरी निर्धारित स्क्रिप्ट पर मेरी स्क्रिप्ट कुछ हो सकती है, लेकिन मुझे मांग पर जानने में और अधिक संभावनाएं जारी करने में अधिक रुचि है।
यह एक लागू उपयोग सिग्नल लाइब्रेरी प्रतीत होता है। आपको क्यों लगता है कि एक बेहतर तरीका है? – MrAlias
आप कनेक्शन के लिए सॉकेट पर थ्रेड सुन सकते हैं और फिर क्लाइंट कनेक्ट होने पर सॉकेट को जानकारी लिख सकते हैं। – larsks
@MrAlias मैं एक से अधिक "प्रिंट" विधि रखने की योजना बना रहा हूं, और जो मैं कह सकता हूं उससे इंटरप्ट का एक सीमित हिस्सा है जिसका उपयोग मैं कर सकता हूं, इसलिए मैंने सोचा कि शायद रनटाइम के दौरान मेरे प्रोग्राम से बातचीत करने का एक अलग तरीका था। – Tyler