extface 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f087805cac85a3a24f51cb71fd0a5b97d787f1ca
4
- data.tar.gz: 80bcf72379c305197d1281f6b958e5e744b81009
3
+ metadata.gz: a54d359e0cd0acd064934a6fc0213632c1e960b9
4
+ data.tar.gz: f2de121b94f6a27f4394229d94668938581134ea
5
5
  SHA512:
6
- metadata.gz: 03a6973e0839a3c9bbc13605ff74369b36170fc249815828d0a5f6b0f4b21a5a6937c35491c771a0dce5891a37381ab65f8e4021c72ecd18578d125d2156f5d7
7
- data.tar.gz: 1a09107b86362f4b101f859f0c5f6e628eb09fd4a1c72e8788eed22c5761e7f2d2ecb09743cf817a987c403c9ee41ffc83fde37771e77874d2979323a23541b9
6
+ metadata.gz: ce9fc475d6ad9afdaec145de6e380b703d988892603ac87a1d49571410d7ac3c2ab1f2a673c1ea1299858d0bff0b282a5e835a42e4fa2dac563566ff7b2a88d2
7
+ data.tar.gz: ec83097e39d23d82a146b31d1a84c4852c3b5edec7dfe5e895fe86e428bc498d4c83f650fdaf0aa43024f5918e01aed0964fdfd6324430d83f8544df3406b89a
@@ -22,6 +22,7 @@ module Extface
22
22
  cookies.permanent[:extface] = job.id
23
23
  p "Processing job #{job.id}"
24
24
  list, data = r.blpop(job.id, timeout: 1)
25
+ #TODO rescue here will loose data
25
26
  while data
26
27
  response.stream.write data
27
28
  r.publish(job.id, "OK")
@@ -32,7 +33,11 @@ module Extface
32
33
  end #redis block
33
34
  end
34
35
  rescue => e
35
- p "will continue next time #{e.message}"
36
+ if e.instance_of? Timeout::Error
37
+ p "will continue next time #{e.message}"
38
+ else
39
+ render nothing: true, status: :internal_server_error
40
+ end
36
41
  ensure
37
42
  response.stream.close
38
43
  end
@@ -28,7 +28,7 @@ module Extface
28
28
  def push(buffer)
29
29
 
30
30
  if @job
31
- Timeout.timeout(10) do
31
+ Timeout.timeout(Extface.device_timeout) do
32
32
  Extface.redis_block do |r|
33
33
  r.subscribe(@job.id) do |on| #blocking until delivered
34
34
  on.subscribe do |channel, subscriptions|
@@ -3,6 +3,8 @@ module Extface
3
3
  belongs_to :device, inverse_of: :jobs
4
4
 
5
5
  scope :active, ->{ where(arel_table[:completed_at].eq(nil).and(arel_table[:failed_at].eq(nil))) }
6
+ scope :completed, ->{ where(arel_table[:completed_at].not_eq(nil)) }
7
+ scope :failed, ->{ where(arel_table[:failed_at].not_eq(nil)) }
6
8
 
7
9
  def complete!
8
10
  self.completed_at = Time.now
@@ -40,13 +40,13 @@
40
40
 
41
41
  <dt><%= t('.successful_jobs') %></dt>
42
42
  <dd>
43
- <%= @device.jobs.count %>
43
+ <%= @device.jobs.completed.count %>
44
44
  (<%= t('.last') %>: <%= distance_of_time_in_words_to_now @device.jobs.maximum(:completed_at) %> ago)
45
45
  </dd>
46
46
 
47
47
  <dt><%= t('.failures') %></dt>
48
48
  <dd>
49
- <%= @device.jobs.count %>
49
+ <%= @device.jobs.failed.count %>
50
50
  (<%= t('.last') %>: <%= distance_of_time_in_words_to_now @device.jobs.maximum(:failed_at) %> ago)
51
51
  </dd>
52
52
 
data/lib/extface.rb CHANGED
@@ -10,6 +10,9 @@ module Extface
10
10
  mattr_reader :mappings
11
11
  @@mappings = ActiveSupport::OrderedHash.new
12
12
 
13
+ mattr_reader :device_timeout
14
+ @@device_timeout = 10
15
+
13
16
  class << self
14
17
  def setup
15
18
  yield self
@@ -1,3 +1,3 @@
1
1
  module Extface
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extface
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Vangelov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-22 00:00:00.000000000 Z
11
+ date: 2014-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails