2010-01-11 7 views
22

एक जावा वेब एप्लिकेशन (सर्वलेट/वसंत एमवीसी) में, टोमकैट का उपयोग करके, क्या क्रॉन जॉब टाइप सेवा चलाने के लिए संभव है?क्या वेब अनुप्रयोग में क्रॉन नौकरी चलाने के लिए संभव है?

उदा। प्रत्येक 15 मिनट, लॉग डेटाबेस को शुद्ध करें।

क्या आप इसे इस तरह से कर सकते हैं कि कंटेनर स्वतंत्र है, या इसे टॉमकैट या किसी अन्य कंटेनर का उपयोग करके चलाने के लिए किया जाना चाहिए?

कृपया निर्दिष्ट करें कि विधि किसी विशिष्ट समय पर चलने की गारंटी है या प्रत्येक 15 मिनट चलने वाला तरीका है, लेकिन यदि एप्लिकेशन रीसायकल करता है तो यह रीसेट हो सकता है (यदि आप टाइमर का उपयोग करते हैं तो यह .NET में है)

+2

यह सुनिश्चित नहीं है कि यह क्यों डाउनवॉट किया गया था? +1 – ryber

उत्तर

11

Chapter 23. Scheduling and Thread Pooling में प्रलेखित के रूप में, स्प्रिंग ने Timer और क्वार्ट्ज शेड्यूलर (http://www.quartz-scheduler.org/) के लिए एकीकरण कक्षाओं के माध्यम से समर्थन शेड्यूल किया है। सरल जरूरतों के लिए, मैं जेडीके Timer के साथ जाने की सिफारिश करता हूं।

ध्यान दें कि जावा शेड्यूलर आमतौर पर जावा व्यवसाय उन्मुख नौकरियों को ट्रिगर करने के लिए उपयोग किए जाते हैं। Sysadmin कार्यों के लिए (जैसे आपने दिया उदाहरण), आपको वास्तव में क्रॉन और पारंपरिक व्यवस्थापक उपकरण (बाश, आदि) पसंद करना चाहिए।

+0

+1। (15 वर्ण) –

0

यह कंटेनर-विशिष्ट होगा। आप जावा में Quartz या जावा के शेड्यूलिंग समवर्ती यूटिल (ScheduledExecutorService) या ओएस-स्तरीय क्रॉन जॉब के साथ ऐसा कर सकते हैं।

हर 15 मिनट चरम लगता है। आम तौर पर मैं आपको सलाह देता हूं कि केवल उन लॉग फ़ाइलों को मिटाएं/हटाएं जिन्हें अब लिखा नहीं जा रहा है (और वे आम तौर पर रातोंरात लुढ़क जाते हैं)।

+0

क्लीटस, लॉग फ़ाइल सिर्फ एक उदाहरण था, लेकिन बिंदु ले लिया गया। क्या ScheduledExecutorService एक निश्चित/गारंटीकृत अंतराल पर चलती है, या यह ऐप रीसाइक्लिंग आदि पर निर्भर करती है? क्रोन के लिए – mrblah

0

नौकरियां बैच उन्मुख हैं। या तो मैन्युअल ट्रिगर या क्रॉन-स्टाइल (जैसा कि आप चाहते हैं) द्वारा।

फिर भी मुझे वेबपैप और क्रॉन-स्टाइल नौकरी के बीच आपका रिश्ता नहीं मिला है? एकमात्र वेबपैप उपयोग-मामला मैं सोच सकता हूं कि आप नौकरी ट्रिगर करने के लिए एक HTTP अंतराल चाहते हैं (लेकिन यह 'क्रॉन-शैली' होने के बारे में आपके बयान का विरोध करता है)।

आम तौर पर एक समर्पित ढांचे का उपयोग करें, जो समस्या-क्षेत्र 'बैच-जॉब्स' हल करता है। मैं क्वार्ट्ज की सिफारिश कर सकते हैं।

संबंधित मुद्दे