पुन: प्रयास मैं अपने स्क्रिप्ट में निम्न कोड ... हैरूबी बचाव और विशिष्ट कोड ब्लॉक
begin
#Loop to create 1000 emails...
#Loop to send 1000 emails...
rescue Timeout::Error => e
retry_attempts += 1
if retry_attempts < 10
retry
else
puts "Timeout error, deleting emails...".red
logs.puts("Rescued a timeout error...#{e}")
email_ids_all.each do |email_delete|
#delete all email...
end
मेरा प्रश्न क्या retry
वास्तव में "पुन: प्रयास" करने के लिए जा रहा है। यदि स्क्रिप्ट ने पहले से ही एक लूप में 1000 ईमेल जेनरेट किए हैं और उनमें से 999 अन्य लूप में भेजे हैं, और फिर यह 1000 वां ईमेल भेजने पर समय निकालता है- क्या यह उस कोड की विशिष्ट पंक्ति को फिर से प्रयास करेगा, जिस पर त्रुटि आई है, क्या यह लूप शुरू करेगा 1000 वें ईमेल के साथ, क्या यह पूरे लूप को शुरू करेगा, या यह दोनों लूप के माध्यम से चल रही स्क्रिप्ट की शुरुआत में शुरू होगा?
मैं रूबी 1.9.3 का उपयोग कर रहा हूं।
उपयोगी जानकारी:
यहाँ एक त्वरित उदाहरण है, जो लगातार 7 के माध्यम से 1 पूर्णांकों प्रिंट होगा (CTRL-C के साथ समाप्त, के रूप में यह पाश अनंत जाएगा) है। सहायता के लिए धन्यवाद। – Luigi
यहां एक लूप में 'पुनः प्रयास' का उपयोग करने पर वास्तव में एक अच्छी पोस्ट है http://blog.mirthlab.com/2012/05/25/cleanly-retrying-blocks-of-code-after-an-exception-in-ruby / – dennismonsewicz