Class: Conveyor::Belt
Overview
Does not persist, do not use any class variables
Constant Summary collapse
- SETTLE_TIME =
30
Constants included from Output
Instance Attribute Summary collapse
-
#command_file ⇒ Object
readonly
Returns the value of attribute command_file.
Instance Method Summary collapse
- #check ⇒ Object
- #count ⇒ Object
-
#initialize(watch_path, command_file) ⇒ Belt
constructor
, opts = {}).
- #name ⇒ Object
- #touch(files) ⇒ Object
Methods included from Output
#announce, #debug, #error, #info, #logfile, #loglvl, #notify, #output, #say, #send_notifications, #should_log?, #warning
Constructor Details
Instance Attribute Details
#command_file ⇒ Object (readonly)
Returns the value of attribute command_file.
8 9 10 |
# File 'lib/conveyor/belt.rb', line 8 def command_file @command_file end |
Instance Method Details
#check ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/conveyor/belt.rb', line 30 def check job = @queue.reserve # puts job.inspect if job && (Time.now - job[:updated_at]) > SETTLE_TIME Worker.new(job[:file], @command_file).start # Worker done remove it from the queue @queue.pop(job[:file]) else # File not ready yet @queue.unreserve(job[:file]) unless job.nil? end rescue => e puts e. puts e.backtrace end |
#count ⇒ Object
16 17 18 |
# File 'lib/conveyor/belt.rb', line 16 def count @queue.count end |
#name ⇒ Object
20 21 22 |
# File 'lib/conveyor/belt.rb', line 20 def name File.basename(@command_file, '.worker') end |
#touch(files) ⇒ Object
24 25 26 27 28 |
# File 'lib/conveyor/belt.rb', line 24 def touch(files) files.each do |f| @queue.push(f) end end |