status = Hash.new\r
status[:failures] = 0\r
status[:first_run] = true\r
- @watch[feed.handle] = @bot.timer.add(0, status) {\r
+ @watch[feed.handle] = @bot.timer.add(0) {\r
debug "watcher for #{feed} started"\r
failures = status[:failures]\r
first_run = status.delete(:first_run)\r
timer = nil\r
seconds = @bot.config['rss.thread_sleep']\r
feed.mutex.synchronize do\r
- timer = @watch[feed.handle]\r
+ timer = @watch[feed.handle]\r
seconds = feed.refresh_rate if feed.refresh_rate\r
end\r
seconds *= failures + 1\r
seconds += seconds * (rand(100)-50)/100\r
debug "watcher for #{feed} going to sleep #{seconds} seconds.."\r
- @bot.timer.reschedule(timer, seconds)\r
+ @bot.timer.reschedule(timer, seconds) rescue warning "watcher for #{feed} failed to reschedule: #{$!.inspect}"\r
}\r
debug "watcher for #{feed} added"\r
end\r