nicer error message generation; another reconnect added

This commit is contained in:
Ward Wouts 2003-08-18 22:14:02 +00:00
parent 6fcfacfad9
commit ee6e367410

View file

@ -1,4 +1,4 @@
# $Dwarf: article.rb,v 1.74 2003/07/14 22:12:18 ward Exp $ # $Dwarf: article.rb,v 1.75 2003/07/20 20:32:01 ward Exp $
# $Source$ # $Source$
# #
@ -141,7 +141,7 @@ def get_articles(cachedir=false)
resp, subj_lines = get_xhdr(server, i, "subject") resp, subj_lines = get_xhdr(server, i, "subject")
resp, messid_lines = get_xhdr(server, i, "message-id") resp, messid_lines = get_xhdr(server, i, "message-id")
rescue TempError rescue TempError
print "Caught: #{$!} reading from #{server} (get_articles)\n" printerr(server)
next next
end end
@ -188,11 +188,15 @@ def get_group_info(server)
begin begin
resp, count, first, last, name = @connections[server]["nntp"].group(@group) resp, count, first, last, name = @connections[server]["nntp"].group(@group)
rescue Net::NNTP::RuntimeError rescue Net::NNTP::RuntimeError
print "Caught #{$!.type} from #{server}\n" printerr(server)
raise PermError, "#{$!}" if ( $!.to_s =~ /^503|^400/ )
reconnect(server)
retry
else
raise PermError, "#{$!}"
end
rescue Errno::EPIPE, Errno::ECONNRESET, EOFError rescue Errno::EPIPE, Errno::ECONNRESET, EOFError
print "Caught #{$!.type} reading from server #{server} (get_group_info)\n" printerr(server)
print "Error: #{$!}\n"
reconnect(server) reconnect(server)
retry retry
end end
@ -225,8 +229,7 @@ def get_xhdr(server, range, header)
raise TempError raise TempError
end end
rescue Net::NNTP::RuntimeError rescue Net::NNTP::RuntimeError
print "Caught #{$!.type} reading from server #{server} (get_xhdr)\n" printerr(server)
print "Error: #{$!}\n"
if ( $!.to_s =~ /^503|^400/ ) if ( $!.to_s =~ /^503|^400/ )
reconnect(server) reconnect(server)
get_group_info(server) get_group_info(server)
@ -235,8 +238,7 @@ def get_xhdr(server, range, header)
print "Won't handle this... yet :(\n" print "Won't handle this... yet :(\n"
end end
rescue Errno::EPIPE, Errno::ECONNRESET, EOFError rescue Errno::EPIPE, Errno::ECONNRESET, EOFError
print "Caught #{$!.type} reading from server #{server} (get_xhdr)\n" printerr(server)
print "Error: #{$!}\n"
reconnect(server) reconnect(server)
get_group_info(server) get_group_info(server)
retry retry
@ -296,8 +298,7 @@ def get_body(server, message)
rescue Net::NNTPReplyError rescue Net::NNTPReplyError
a = '' a = ''
a += $! a += $!
print "Caught #{$!.type} reading article #{message} from #{server} (get_body)\n" printerr(server)
print "Error: #{$!}\n"
if retries == 0 && (a =~ /^503/ || a =~ /^400/) if retries == 0 && (a =~ /^503/ || a =~ /^400/)
reconnect(server) reconnect(server)
get_group_info(server) get_group_info(server)
@ -306,12 +307,10 @@ def get_body(server, message)
end end
return false return false
rescue EOFError, NameError rescue EOFError, NameError
print "Caught #{$!.type} reading article #{message} from #{server} (get_body)\n" printerr(server)
print "Error: #{$!}\n"
return false return false
rescue Errno::EPIPE, Errno::ECONNRESET rescue Errno::EPIPE, Errno::ECONNRESET
print "Caught #{$!.type} reading from server #{server} (get_body)\n" printerr(server)
print "Error: #{$!}\n"
reconnect(server) reconnect(server)
get_group_info(server) get_group_info(server)
retry retry
@ -694,6 +693,11 @@ def rechunk_runlist(runlist)
return blup return blup
end end
def printerr(server)
print "Caught #{$!.type} reading from server #{server} (#{caller[0]})\n"
print "Error: #{$!}\n"
end
def quit def quit
for server in @connections.keys for server in @connections.keys
begin begin