uc 0.1.8 → 0.1.9

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: 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