bug fix timeouts
This commit is contained in:
parent
80ece7e427
commit
1a0f06d86f
1 changed files with 22 additions and 11 deletions
|
|
@ -71,7 +71,7 @@ end
|
||||||
|
|
||||||
def get_articles(cachedir=false)
|
def get_articles(cachedir=false)
|
||||||
for server in @connections.keys
|
for server in @connections.keys
|
||||||
first, last = get_group_info(server, @group)
|
first, last = get_group_info(server)
|
||||||
@connections[server]["first"] = first ? first : 0
|
@connections[server]["first"] = first ? first : 0
|
||||||
@connections[server]["last"] = last ? last : 0
|
@connections[server]["last"] = last ? last : 0
|
||||||
end
|
end
|
||||||
|
|
@ -88,7 +88,7 @@ def get_articles(cachedir=false)
|
||||||
rangelist = rechunk_runlist(range.diff(@connections[server]["skip_ids"]).run_list)
|
rangelist = rechunk_runlist(range.diff(@connections[server]["skip_ids"]).run_list)
|
||||||
print "rangelist: #{rangelist}\n" if Debuglevel >1
|
print "rangelist: #{rangelist}\n" if Debuglevel >1
|
||||||
print "rangelist: #{rangelist.type.to_s}\n" if Debuglevel >1
|
print "rangelist: #{rangelist.type.to_s}\n" if Debuglevel >1
|
||||||
print "rangelsit elements: #{range.diff(@connections[server]["skip_ids"]).elements}\n" if Debuglevel >1
|
print "rangelist elements: #{range.diff(@connections[server]["skip_ids"]).elements}\n" if Debuglevel >1
|
||||||
unless rangelist == nil or rangelist =~ /^$/
|
unless rangelist == nil or rangelist =~ /^$/
|
||||||
for i in rangelist.split(',')
|
for i in rangelist.split(',')
|
||||||
print "i: #{i}\n" if Debuglevel > 1
|
print "i: #{i}\n" if Debuglevel > 1
|
||||||
|
|
@ -120,7 +120,7 @@ def get_articles(cachedir=false)
|
||||||
save_cache(cachedir)
|
save_cache(cachedir)
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_group_info(server, group)
|
def get_group_info(server)
|
||||||
timedout = 0
|
timedout = 0
|
||||||
resp = ""
|
resp = ""
|
||||||
first = ""
|
first = ""
|
||||||
|
|
@ -130,11 +130,11 @@ def get_group_info(server, group)
|
||||||
print "Too many timeouts!\n"
|
print "Too many timeouts!\n"
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
timeout(180) do
|
timeout(30) do
|
||||||
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 "Couldn't open group: #{group}\n"
|
print "Couldn't open group: #{@group}\n"
|
||||||
return false
|
return false
|
||||||
rescue Errno::EPIPE, Errno::ECONNRESET
|
rescue Errno::EPIPE, Errno::ECONNRESET
|
||||||
print "Caught Errno::EPIPE reading from server #{server}\n"
|
print "Caught Errno::EPIPE reading from server #{server}\n"
|
||||||
|
|
@ -173,14 +173,20 @@ def get_xhdr(server, range, header)
|
||||||
rescue Errno::EPIPE, Errno::ECONNRESET
|
rescue Errno::EPIPE, Errno::ECONNRESET
|
||||||
print "Caught Errno::EPIPE reading from server #{server}\n"
|
print "Caught Errno::EPIPE reading from server #{server}\n"
|
||||||
print "Error: #{$!}\n"
|
print "Error: #{$!}\n"
|
||||||
retry if reconnect(server)
|
if reconnect(server)
|
||||||
|
get_group_info(server)
|
||||||
|
retry
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return resp, lines
|
return resp, lines
|
||||||
rescue TimeoutError
|
rescue TimeoutError
|
||||||
print "Time out, reconnecting to server\n"
|
print "Time out, reconnecting to server\n"
|
||||||
timedout += 1
|
timedout += 1
|
||||||
retry if reconnect(server)
|
if reconnect(server)
|
||||||
|
get_group_info(server)
|
||||||
|
retry
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -234,15 +240,20 @@ def get_body(server, message)
|
||||||
rescue Errno::EPIPE, Errno::ECONNRESET
|
rescue Errno::EPIPE, Errno::ECONNRESET
|
||||||
print "Caught Errno::EPIPE reading from server #{server}\n"
|
print "Caught Errno::EPIPE reading from server #{server}\n"
|
||||||
print "Error: #{$!}\n"
|
print "Error: #{$!}\n"
|
||||||
reconnect(server)
|
if reconnect(server)
|
||||||
retry
|
get_group_info(server)
|
||||||
|
retry
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return resp, id, messid, list
|
return resp, id, messid, list
|
||||||
rescue TimeoutError
|
rescue TimeoutError
|
||||||
print "Time out, reconnecting to server\n"
|
print "Time out, reconnecting to server\n"
|
||||||
timedout += 1
|
timedout += 1
|
||||||
retry if reconnect(server)
|
if reconnect(server)
|
||||||
|
get_group_info(server)
|
||||||
|
retry
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue