मैं अपने वेबपैप के लिए सिनात्रा का उपयोग कर रहा हूं। मेरे पास कुछ क्लीनअप कोड है जिसे मैं निष्पादित करना चाहता हूं जब मेरा ऐप बंद हो रहा हो। क्या सिनात्रा में इसके लिए कोई हुक है या क्या मुझे एक अलग तंत्र का उपयोग करना है?मैं सिनात्रा में कोड कहां डालूं कि ऐप बंद होने पर मैं निष्पादित करना चाहता हूं?
7
A
उत्तर
8
Kernel#at_exit पर देखो, मुझे नहीं लगता कि यह सिनात्रा ऐप में क्यों काम नहीं करना चाहिए यदि आप अपनी मुख्य ऐप फ़ाइल में कहीं ऐसा ब्लॉक परिभाषित करते हैं।
अपडेट: मैट की टिप्पणी के अनुसार, आपको सिनात्रा की आवश्यकता से पहले अपने at_exit
हैंडलर को परिभाषित करना होगा।
संबंधित मुद्दे
- 1. मैं सिनात्रा (रूबी वेब ढांचे) में कोड कहां डालूं जिसे मैं सिर्फ एक बार निष्पादित करना चाहता हूं?
- 2. अगर मैं किसी को अपने कोड पर टिप्पणी करना चाहता हूं तो मैं कहां जाऊं?
- 3. मैं ग्रहण में मेटा-आईएनएफ कहां डालूं?
- 4. मैं जानना चाहता हूं कि Win32.DLL
- 5. मैं देखना चाहता हूं कि एक स्ट्रिंग
- 6. टेक्स्टफाइल कहां रखना है मैं ग्रहण में उपयोग करना चाहता हूं?
- 7. मैं सिनात्रा
- 8. मैं कहां क्रमबद्ध हूं?
- 9. मैं अपने डेटाबेस क्वेरी परीक्षण रेल में कहां डालूं?
- 10. क्या मैं वास्तव में न्यूनतम तारीख वापस करना चाहता हूं?
- 11. विजुअल स्टूडियो: डिबगिंग बंद होने पर क्लीन अप कोड निष्पादित करना
- 12. मैं सरणी में इंडेक्स प्राप्त करना चाहता हूं जिसमें सी #
- 13. मैं ध्वनि प्रोग्रामिंग पर एक प्रोजेक्ट करना चाहता हूं, लेकिन मुझे नहीं पता कि
- 14. ग्रहण बंद होने पर मैं ग्रहण कार्यक्षेत्र में सभी परियोजनाओं को कैसे बंद कर सकता हूं?
- 15. क्या मैं हर बार Java SwingWorker का नया उदाहरण बनाना चाहता हूं जब मैं doInBackground() को आमंत्रित करना चाहता हूं?
- 16. मैं अपने मैवेन 2 प्रोजेक्ट में वेबलॉगिक-application.xml कहां डालूं?
- 17. सिनात्रा ऐप
- 18. एंड्रॉइड पर apktool है? मैं ".smali" इकट्ठा करना चाहता हूं और एंड्रॉइड एप्लिकेशन में नया ".apk" बनाना चाहता हूं
- 19. मैं आईडी को फ्लोट पर कैसे डालूं?
- 20. मैं txt फ़ाइल कहां रखूं जिसे मैं जावा में पढ़ना चाहता हूं?
- 21. एक सिनात्रा ऐप
- 22. मैं एक विधि का उपयोग करना चाहता हूं जिसे सर्वर
- 23. लिनक्स पर सी ++ में अपने बंद होने पर मैं फ़ाइल को कैसे हटा सकता हूं?
- 24. मैं डेटास्टोर में शब्दकोश कैसे डालूं?
- 25. मैं डेटाबेस में संग्रहीत कोड कैसे निष्पादित कर सकता हूं?
- 26. मैं एक वेब ब्राउज़र बनाना चाहता हूं, लेकिन मुझे यकीन नहीं है कि कहां से शुरू करना है?
- 27. सिनात्रा सर्वर चल रहा है एक बार कोड निष्पादित करें
- 28. यदि आईई 6, मैं चेतावनी देना चाहता हूं और अन्य ब्राउज़र आइकन डाउनलोड करना चाहता हूं
- 29. मैं .NET XML टिप्पणियों में कोड उदाहरण कैसे डालूं?
- 30. मैं ascmd.exe कहां डाउनलोड कर सकता हूं?
मैं इस धारणा के तहत था कि सभी धागे निकलने के बाद ही बुलाया जाता है। मैं खुद परीक्षण करूँगा। मुझे विशिष्ट चीजों में से एक को कुछ थ्रेड बंद करना है, इसलिए यदि ऐसा है, तो यह मेरे लिए काम नहीं करेगा। – pquimo
यह सिनात्रा शुरू करने के तरीके के आधार पर काम नहीं कर सकता है, क्योंकि [सिनात्रा 'at_exit' स्वयं का उपयोग करता है] (https://github.com/sinatra/sinatra/blob/v1.3.2/lib/sinatra/main.rb#L25) सर्वर में निर्मित करने के लिए, इसलिए आपके द्वारा जोड़े गए किसी भी 'at_exit' हैंडलर वास्तव में _before_ सिनात्रा शुरू होगा। – matt
दिलचस्प। मुझे आश्चर्य है कि मुझे अपना जवाब हटाना चाहिए या समय के लिए इसे चारों ओर रखना चाहिए। हो सकता है कि मैं @pquimo रिपोर्ट वापस आने तक प्रतीक्षा करूंगा। –