इंटरप्टेबल लाइब्रेरी के लिए समर्थन
अवलोकन
Aspose.Slides लम्बे समय तक चलने वाले प्रस्तुति कार्यों, जैसे डीसिरियलाइज़ेशन, सिरियलाइज़ेशन और रेंडरिंग, के लिए एक इंटरप्टेबल प्रोसेसिंग तंत्र प्रदान करता है। यह तंत्र InterruptionToken और InterruptionTokenSource क्लासों पर आधारित है।
InterruptionToken को LoadOptions को सौंपा जा सकता है और Presentation कंस्ट्रक्टर में पास किया जा सकता है। जब InterruptionTokenSource.interrupt को कॉल किया जाता है, तो सम्बद्ध लम्बे कार्य को बाधित किया जाता है।
इंटरप्टेबल लाइब्रेरी
Aspose.Slides for Python via Java InterruptionToken और InterruptionTokenSource क्लासें प्रदान करता है। ये आपको डीसिरियलाइज़ेशन, सिरियलाइज़ेशन और रेंडरिंग जैसे लम्बे कार्यों को बाधित करने की अनुमति देती हैं।
- InterruptionTokenSource वह स्रोत है जो LoadOptions.setInterruptionToken को पास किए जाने वाले टोकन(s) प्रदान करता है।
- जब LoadOptions.setInterruptionToken को कॉल किया जाता है और LoadOptions इंस्टेंस को Presentation कंस्ट्रक्टर में पास किया जाता है, तो InterruptionTokenSource.interrupt को कॉल करने से उस Presentation से जुड़े किसी भी लम्बे कार्य को बाधित किया जाता है।
निम्न कोड स्निपेट चल रहे कार्य को बाधित करने का उदाहरण दर्शाता है:
from concurrent.futures import ThreadPoolExecutor
import time
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import InterruptionTokenSource, LoadOptions, Presentation, SaveFormat
token_source = InterruptionTokenSource()
def convert_presentation():
load_options = LoadOptions()
load_options.setInterruptionToken(token_source.getToken())
presentation = Presentation("sample.pptx", load_options)
try:
presentation.save("sample.ppt", SaveFormat.Ppt)
finally:
presentation.dispose()
with ThreadPoolExecutor(max_workers=1) as executor:
conversion_task = executor.submit(convert_presentation) # क्रिया को एक अलग थ्रेड में चलाएँ।
time.sleep(10) # समय समाप्ति।
token_source.interrupt() # रूपांतरण को रोकें।
conversion_task.result()
FAQ
Aspose.Slides इंटरप्ट लाइब्रेरी का उद्देश्य क्या है?
यह लम्बे समय तक चलने वाले संचालन—जैसे प्रस्तुति को लोड करना, सहेजना, या रेंडर करना—को पूरा होने से पहले ही रोकने का तंत्र प्रदान करता है। यह तब उपयोगी है जब प्रसंस्करण समय सीमित होना चाहिए या कार्य की अब आवश्यकता नहीं रही।
InterruptionToken और InterruptionTokenSource में क्या अंतर है?
- InterruptionToken Aspose.Slides API को पास किया जाता है और लम्बे संचालन के दौरान जाँच किया जाता है।
- InterruptionTokenSource आपके कोड में टोकन बनाने और interrupt को कॉल करके विघटन ट्रिगर करने के लिए उपयोग किया जाता है।
कौन से कार्य बाधित किए जा सकते हैं?
कोई भी Aspose.Slides कार्य जो InterruptionToken स्वीकार करता है—जैसे Presentation के साथ प्रस्तुति लोड करना या Presentation.save के साथ सहेजना—बाधित किया जा सकता है।
क्या विघटन तुरंत होता है?
नहीं। विघटन सहयोगी होता है: संचालन नियमित रूप से टोकन की जाँच करता है और जैसे ही यह पहचानता है कि interrupt कॉल किया गया है, तुरंत रुक जाता है।
यदि मैं किसी कार्य के समाप्त होने के बाद interrupt कॉल करता हूँ तो क्या होता है?
कुछ नहीं—यदि संबंधित कार्य पहले ही समाप्त हो चुका है तो कॉल का कोई प्रभाव नहीं पड़ता।
क्या मैं एक ही InterruptionTokenSource को कई कार्यों के लिए पुनः उपयोग कर सकता हूँ?
हाँ—लेकिन जब आप उस स्रोत पर interrupt कॉल करते हैं, तो उसके टोकन का उपयोग करने वाले सभी कार्य बाधित हो जाएंगे। कार्यों को स्वतंत्र रूप से प्रबंधित करने के लिए अलग‑अलग टोकन स्रोतों का उपयोग करें।