uc 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81e5e195bf45efdea58dc9e1295dbed7e8f98b9c
4
- data.tar.gz: 3d242b7b38655b6b073be163b67b41dc65c9bc17
3
+ metadata.gz: 724f9c77ea7473dee5f2f3427b6ae2f279b69a43
4
+ data.tar.gz: 27e2107ce9b1209162b87f36e95f066dd0b41202
5
5
  SHA512:
6
- metadata.gz: faab4e5ac9cd599d5f18e0a3f3191d68743463e31880891649463584a7c3813957266926069e4f42db775358b418ca0dcc15f7a5f6b8bc029c0ecaae0fef2707
7
- data.tar.gz: 9caa91282070698e9c5f78a6b042e4f52b97706c162cfddcd06d5ef57ac553712c98ff8475190b4934552a6a4a66d0b70ccb3dfa78ad46e78ccc8df5c1feb914
6
+ metadata.gz: 4cb767292f1156fdbe85a43e2c1b460bff89e5c47a5d891395e3e6f7f8a8f94bb27502bb8338f87382421c80c39d9716461611599b7683833e570e10c62624f2
7
+ data.tar.gz: 01cd764d07c801328b4deff7c7a05f9c82a7f944856305f50bcc485db9a3509f743e1695924acaa123cb30f5fe0f1a92a6144794d9b3879efb4b6830b959ff34
data/lib/uc/config.rb CHANGED
@@ -70,6 +70,10 @@ module Uc
70
70
  config[:working_dir]
71
71
  end
72
72
 
73
+ def skip_clean_env(value)
74
+ config[:skip_clean_env] = value
75
+ end
76
+
73
77
  def env_hash
74
78
  @env_hash ||= {}
75
79
  end
data/lib/uc/event.rb CHANGED
@@ -1,4 +1,30 @@
1
1
  module Uc
2
2
  class Event < ::Struct.new(:type, :msg)
3
+
4
+ def self.parse(event_str)
5
+ arr = event_str.split("|", 2)
6
+ if arr.length == 2
7
+ type, msg = arr[0], arr[1]
8
+ else
9
+ type, msg = "unknown", event_str
10
+ end
11
+ new(type, msg)
12
+ end
13
+
14
+ def to_s(size = nil)
15
+ str = "#{type}|#{msg}"
16
+ size ? truncate(str, size) : str
17
+ end
18
+
19
+ private
20
+
21
+ def truncate(str, size)
22
+ if str.size <= size
23
+ str
24
+ else
25
+ "#{str[0, size - 3] }..."
26
+ end
27
+ end
28
+
3
29
  end
4
30
  end
@@ -29,30 +29,13 @@ module Uc
29
29
  end
30
30
 
31
31
  def pub(type, msg)
32
- tmsg = truncate "#{type}|#{msg}"
33
- writer.send tmsg
32
+ event = Event.new(type, msg)
33
+ writer.send event.to_s(mq.msg_size)
34
34
  rescue Errno::ENOENT, Errno::EAGAIN, Errno::EACCES, Errno::EMSGSIZE => e
35
35
  puts "#{e.class} #{e.message}"
36
36
  end
37
37
 
38
- def truncate(msg)
39
- if msg.size <= mq.msg_size
40
- return msg
41
- else
42
- msg = "#{msg[0, mq.msg_size - 3] }..."
43
- end
44
- end
45
-
46
38
  def expect(event_type, timeout: 30, recreate: true, &block)
47
- mq.recreate if recreate
48
- mq.clear
49
- yield
50
- wait(event_type, timeout, output: true)
51
- rescue => e
52
- raise uc_error(e)
53
- end
54
-
55
- def expect_in_background(event_type, timeout: 30, recreate: true, &block)
56
39
  begin
57
40
  mq.recreate if recreate
58
41
  mq.clear
@@ -76,7 +59,7 @@ module Uc
76
59
  loop do
77
60
  r.receive(message, t)
78
61
  t = timeout
79
- event = parse message
62
+ event = Event.parse message
80
63
  print event if output
81
64
  break if event.type == event_type
82
65
  end
@@ -117,24 +100,6 @@ module Uc
117
100
 
118
101
  private
119
102
 
120
- def read(timeout)
121
- event = ""
122
- reader do |r|
123
- r.receive(event, timeout)
124
- parse event
125
- end
126
- end
127
-
128
- def parse(event_str)
129
- arr = event_str.split("|",2)
130
- if arr.length == 2
131
- type, msg = arr[0], arr[1]
132
- else
133
- type, msg = "unknown", event
134
- end
135
- event = ::Uc::Event.new(type, msg)
136
- end
137
-
138
103
  def mq
139
104
  @mq ||= ::Uc::Mqueue.new(@queue_name)
140
105
  end
data/lib/uc/server.rb CHANGED
@@ -29,7 +29,7 @@ module Uc
29
29
  return
30
30
  end
31
31
  ENV["UNICORN_APP_DIR"] = config.app_dir
32
- event_stream.expect_in_background :fin do
32
+ event_stream.expect :fin do
33
33
  cmd %{unicorn -c #{uconfig.path} -D -E #{rails_env} }, return_output: false,
34
34
  error_msg: "error starting unicorn"
35
35
  end
@@ -22,7 +22,7 @@ before_fork do |server, worker|
22
22
  uc.init(server)
23
23
  uc.wait_for_worker_ready(server, worker, ready_wait: ready_wait)
24
24
  uc.gradual_shutdown(server, worker)
25
- sleep 0.3
25
+ sleep 0.2 if not ready_wait
26
26
  end
27
27
 
28
28
  after_fork do |server, worker|
@@ -75,7 +75,7 @@ module Uc; module Unicorn
75
75
  end
76
76
 
77
77
  def clean_env
78
- return if not File.exist? ".clean_env"
78
+ return if uc_config.config[:skip_clean_env]
79
79
  ENV.delete "BUNDLE_BIN_PATH"
80
80
  ENV.delete "RUBYLIB"
81
81
  ENV.delete "RUBYOPT"
@@ -86,8 +86,7 @@ module Uc; module Unicorn
86
86
  end
87
87
 
88
88
  def load_env
89
- config = ::Uc::Config.new(Dir.pwd)
90
- config.load_env
89
+ uc_config.load_env
91
90
  end
92
91
 
93
92
  def cleaned_path
@@ -107,6 +106,10 @@ module Uc; module Unicorn
107
106
  @original_env = ENV.to_h
108
107
  end
109
108
 
109
+ def uc_config
110
+ @uc_config ||= ::Uc::Config.new(Dir.pwd)
111
+ end
112
+
110
113
  end
111
114
 
112
115
  end; end
data/lib/uc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Uc
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neeraj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-13 00:00:00.000000000 Z
11
+ date: 2015-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler