Method: WebArchive::ArchiveQueue#initialize
- Defined in:
- lib/webarchive.rb
#initialize(name, wait) ⇒ ArchiveQueue
Returns a new instance of ArchiveQueue.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/webarchive.rb', line 34 def initialize(name, wait) super() @name = name @all_sent = false @in_process = 0 # always <= 1 @consumer = Thread.new do loop do uri = self.pop @in_process += 1 begin yield uri rescue StandardError => e WebArchive.warn_archive_fail( uri, name, ([e.inspect] + e.backtrace).join("\n") ) ensure @in_process -= 1 break if @all_sent && self.empty? sleep wait end end end end |