क्यूजीआईएस प्रसंस्करण स्क्रिप्ट को गुई से रद्द करने का साफ तरीका


12

मैंने एक QGIS प्रोसेसिंग स्क्रिप्ट लिखी है जो एक निकटतम सुविधा विश्लेषण करती है। पूरा इनपुट डेटा सेट (20k प्रारंभ बिंदुओं के रूप में स्वीकार करता है, ~ 100 लक्ष्य बिंदु, ~ 13k linestrings के साथ OSM सड़क नेटवर्क) स्क्रिप्ट लगभग 3 घंटे चलती है, और इसलिए उपयोगकर्ता के लिए यह सुनहरा बनाने के लिए विभिन्न प्रगति संकेतकों का उपयोग करता है। अभी भी जीवित है (लॉग आउटपुट, प्रगति बार, शेष समय, रबर बैंड संकेत देता है कि निकटतम सुस्पष्टता का तरीका अभी संसाधित है, सीपीपी स्क्रीनशॉट नीचे दिया गया है:

यहाँ छवि विवरण दर्ज करें

अब मैं चल रही स्क्रिप्ट को रद्द करना चाहता हूं और जहां तक ​​मैं देख सकता हूं, यह केवल [X]प्रसंस्करण स्क्रिप्ट गुई विंडो में शीर्ष दाएं के साथ किया जा सकता है ।

लेकिन ऐसा करने से, स्क्रिप्ट प्रसंस्करण के रूप में नीले रबर बैंड के साथ-साथ प्रसंस्करण समय और प्रगति बार से संकेत मिलता है ...

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

... और कार्य प्रबंधक में सिस्टम संसाधन:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

हालाँकि, कुछ मिनटों के बाद (~ 14 मिनट) बाद में स्क्रिप्ट का संसाधन बंद हो जाता है और सिस्टम अब संसाधनों का उपभोग नहीं कर रहा है:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

चूंकि खिड़की बंद करने और प्रसंस्करण बंद करने के बीच का समय मेरे लिए काफी अप्रत्याशित लगता है, इसलिए मेरा सवाल है: क्या यह क्यूजीआईएस प्रसंस्करण स्क्रिप्ट को रद्द करने का एक अनुशंसित तरीका है, या क्या अन्य तरीके से इस तरह की स्क्रिप्ट को रद्द करने का कोई तरीका है?


निश्चित रूप से इसे करने का सबसे अच्छा और न ही स्पष्ट तरीका नहीं है, लेकिन मैं आमतौर पर विंडोज टास्क मैनेजर से प्रक्रिया को सचमुच मार देता हूं: इस कार्रवाई के परिणामस्वरूप QGIS का समापन होता है, लेकिन स्क्रिप्ट के व्यवधान और सिस्टम संसाधनों की बचत भी । हालाँकि, यदि आप शेष समय का विचार करना चाहते हैं, तो आप सुविधाओं पर पुनरावृत्ति के अनुसार प्रगति पट्टी सेट कर सकते हैं (मुझे नहीं पता कि यह वही है जो आप चाहते हैं)।
माजरी

शायद इस पोस्ट से मदद मिल सकती है: प्रसंस्करण ढांचे में पायथन लिपियों को कैसे ठीक से समाप्त किया जाए? । विशेष रूप से, जीन के जवाब का उपयोग कर sys.exitfunc()
जोसेफ

जवाबों:


2

कमांड शेल से, "टास्ककिल / f / im qis-ltr-bin.exe / t" प्रक्रिया को तुरंत समाप्त कर देगा। मुझे नहीं लगता कि आप जो भी कर रहे हैं उसके आधार पर एक गुई समाधान है। QGIS में, यदि आप प्रक्रिया को सफाई से समाप्त करना चाहते हैं, तो प्रक्रिया को समाप्त करते समय आपको कार्यक्रम की प्रतीक्षा करनी होगी। लेकिन कमांड शेल के माध्यम से यह आपको तुरंत आगे बढ़ने की अनुमति देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.