Class: Extface::Job

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/extface/job.rb

Instance Method Summary collapse

Instance Method Details

#complete!Object



9
10
11
12
13
# File 'app/models/extface/job.rb', line 9

def complete!
  self.completed_at = Time.now
  save!
  notify("Job #{self.id} completed!")
end

#completed?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'app/models/extface/job.rb', line 15

def completed?
  !!completed_at
end

#connected!Object



19
20
21
22
23
24
25
# File 'app/models/extface/job.rb', line 19

def connected!
  unless connected?
    self.connected_at = Time.now
    save!
    notify("Job #{self.id} device connected!")
  end
end

#connected?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/extface/job.rb', line 27

def connected?
  !!connected_at?
end

#failed!(message) ⇒ Object



31
32
33
34
35
36
37
# File 'app/models/extface/job.rb', line 31

def failed!(message)
  self.error = message
  self.failed_at = Time.now
  save!
  notify(message)
  notify("Job #{self.id} failed!")
end

#failed?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'app/models/extface/job.rb', line 39

def failed?
  !!failed_at
end

#notify(message) ⇒ Object



43
44
45
46
47
# File 'app/models/extface/job.rb', line 43

def notify(message)
  Extface.redis_block do |r|
    r.publish(self.id, message)
  end
end

#rpush(buffer) ⇒ Object



49
50
51
52
53
# File 'app/models/extface/job.rb', line 49

def rpush(buffer)
  Extface.redis_block do |r|
    r.rpush self.id, buffer
  end
end