Class: Uploadr::Queue

Inherits:
Object
  • Object
show all
Includes:
Celluloid
Defined in:
lib/uploadr/queue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



9
10
11
12
13
14
15
16
# File 'lib/uploadr/queue.rb', line 9

def initialize
  @worker_count = Uploadr.worker_count
  @files = []
  Uploadr.directories.each do |dir|
    @files << Dir.glob("#{File.expand_path(dir)}/**/*.jpg", File::FNM_CASEFOLD)
  end
  @files.flatten!
end

Instance Attribute Details

#filesObject

Returns the value of attribute files.



7
8
9
# File 'lib/uploadr/queue.rb', line 7

def files
  @files
end

Instance Method Details

#completedObject



22
23
24
25
26
27
# File 'lib/uploadr/queue.rb', line 22

def completed
  @worker_count -= 1
  if @worker_count == 0
    signal(:all_completed)
  end
end

#shiftObject



18
19
20
# File 'lib/uploadr/queue.rb', line 18

def shift
  @files.shift
end

#wait_completionObject



29
30
31
32
# File 'lib/uploadr/queue.rb', line 29

def wait_completion
  wait(:all_completed)
  Actor[:log].puts "Shutting down..."
end