मैंने नौकरी को अपरिपक्व फेंकने पर, सीरेटिन की मात्रा के बाद नौकरी को फिर से शुरू करने के तरीके के बारे में एक उत्तर खोजा है। मैं ऐसा करने का कोई आसान तरीका नहीं देख सकता।अगर नौकरी अपवाद के साथ विफल रहता है तो 15 मिनट के बाद quartz.net ट्रिगर को रिफायर करें
अगर मैं इस तरह मेरे ट्रिगर सेट अप:
JobDetail job = new JobDetail("Download catalog", null, typeof(MyJob));
job .Durable = true;
Trigger trigger= TriggerUtils.MakeDailyTrigger(12, 0);
trigger.StartTimeUtc = DateTime.UtcNow;
trigger.Name = "trigger name";
scheduler.ScheduleJob(job , trigger);
और इस तरह दिखना MyJob:
public class MyJob : IJob
{
public void Execute(JobExecutionContext context)
{
var service = new service();
try
{
service.Download();
}
catch (Exception)
{
throw;
}
}
}
वहाँ 15 मिनट यदि चला गया है के बाद मैं कैसे/retrigger Refire को ट्रिगर कर सकता हूँ सेवा। डाउनलोड() कॉल किसी प्रकार की अपवाद फेंकता है?
हाँ। मैंने यह पढ़ा है, लेकिन यह एक अच्छा समाधान नहीं है, क्योंकि इसका संभावित अर्थ यह हो सकता है कि यह कई हज़ार बार (या लाखों बार भी रिफायर) करेगा। लेकिन यह देखने के लिए अच्छा है कि आप इस निष्कर्ष पर आ गए हैं। – mslot
@mslot: मैंने अपना जवाब अपडेट कर लिया है। – LeftyX
धन्यवाद: डी मेरे पास एक ही विचार था, लेकिन यह क्वार्ट्ज का उपयोग करने वाला मेरा पहला समय है, इसलिए मुझे यकीन नहीं था कि आप संदर्भ का उपयोग कर सकते हैं या नहीं। – mslot