Sha256: ce93b90ff2b0a44ea749e28c57f043a6e735a10173dc703dbae2330391042694

Contents?: true

Size: 647 Bytes

Versions: 5

Compression:

Stored size: 647 Bytes

Contents

module Rivendell::Import
  class Worker

    attr_reader :import

    def initialize(import)
      @import = import
    end

    def start
      Thread.new do
        Rivendell::Import.logger.debug "Start Worker"
        run
      end

      self
    end

    def run
      loop do
        begin
          task = import.tasks.pop
          if task
            task.run
          else
            # Rivendell::Import.logger.debug "No pending task, sleep 10s"
            sleep 10
          end
        rescue Exception => e
          Rivendell::Import.logger.error "Worker failed : #{e}"
          sleep 10
        end
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rivendell-import-1.04 lib/rivendell/import/worker.rb
rivendell-import-1.03 lib/rivendell/import/worker.rb
rivendell-import-1.02 lib/rivendell/import/worker.rb
rivendell-import-1.01 lib/rivendell/import/worker.rb
rivendell-import-0.10 lib/rivendell/import/worker.rb