Sha256: acfaba269066d6f184263e3d5b3fa24f29701eaa79115bd7493a4b5bc51cd0ad

Contents?: true

Size: 572 Bytes

Versions: 9

Compression:

Stored size: 572 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
        task = import.tasks.pop
        if task
          task.run
        else
          # Rivendell::Import.logger.debug "No pending task, sleep 10s"
          sleep 10
        end
      end
    rescue => e
      Rivendell::Import.logger.error "Worker failed : #{e}"
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rivendell-import-0.9 lib/rivendell/import/worker.rb
rivendell-import-0.8 lib/rivendell/import/worker.rb
rivendell-import-0.7 lib/rivendell/import/worker.rb
rivendell-import-0.6 lib/rivendell/import/worker.rb
rivendell-import-0.0.5 lib/rivendell/import/worker.rb
rivendell-import-0.0.4 lib/rivendell/import/worker.rb
rivendell-import-0.0.3 lib/rivendell/import/worker.rb
rivendell-import-0.0.2 lib/rivendell/import/worker.rb
rivendell-import-0.0.1 lib/rivendell/import/worker.rb