openteam-commons 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,28 +1,56 @@
1
- current_dir = File.expand_path('../..', __FILE__)
1
+ def current_dir
2
+ File.expand_path('../..', __FILE__)
3
+ end
2
4
 
3
- group, project = current_dir.split('/')[-2..-1]
5
+ def group
6
+ current_dir.split('/')[-2]
7
+ end
4
8
 
5
- config_file_path = "#{current_dir}/config/settings.yml"
9
+ def project
10
+ current_dir.split('/')[-1]
11
+ end
6
12
 
7
- settings = File.exist?(config_file_path) ? YAML.load_file(config_file_path) : {}
13
+ def config_file_path
14
+ "#{current_dir}/config/settings.yml"
15
+ end
8
16
 
9
- settings['unicorn'] ||= {}
17
+ def settings
18
+ YAML.load_file(config_file_path)['unicorn'] rescue {}
19
+ end
10
20
 
11
- worker_processes (settings['unicorn']['workers'] || 2).to_i
12
- timeout (settings['unicorn']['timeout'] || 300).to_i
21
+ def heroku?
22
+ ENV['PORT']
23
+ end
24
+
25
+ def pid_file
26
+ heroku? ? "/tmp/#{group}-#{project}.pid" : "/var/run/#{group}/#{project}.pid"
27
+ end
28
+
29
+ worker_processes (settings['workers'] || 2).to_i
30
+ timeout (settings['timeout'] || 300).to_i
13
31
  preload_app true
32
+ pid pid_file
14
33
 
15
- if ENV['PORT'] # Heroku evironment
34
+ if heroku?
16
35
  listen ENV['PORT'].to_i, :tcp_nopush => false
17
36
  else
18
37
  listen "/tmp/#{group}-#{project}.sock", :backlog => 64
19
- pid "/var/run/#{group}/#{project}.pid"
38
+
20
39
  stdout_path "/var/log/#{group}/#{project}/stdout.log"
21
40
  stderr_path "/var/log/#{group}/#{project}/stderr.log"
22
41
  end
23
42
 
24
43
  before_fork do |server, worker|
25
44
  defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
45
+
46
+ old_pid = "#{pid_file}.oldbin"
47
+ if File.exists?(old_pid) && server.pid != old_pid
48
+ begin
49
+ Process.kill("QUIT", File.read(old_pid).to_i)
50
+ rescue Errno::ENOENT, Errno::ESRCH
51
+ # someone else did our job for us
52
+ end
53
+ end
26
54
  end
27
55
 
28
56
  after_fork do |server, worker|
@@ -1,3 +1,3 @@
1
1
  module OpenteamCommons
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openteam-commons
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: airbrake
16
- requirement: &18618480 !ruby/object:Gem::Requirement
16
+ requirement: &15834820 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *18618480
24
+ version_requirements: *15834820
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: configliere
27
- requirement: &18634200 !ruby/object:Gem::Requirement
27
+ requirement: &15834040 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *18634200
35
+ version_requirements: *15834040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rails
38
- requirement: &18633220 !ruby/object:Gem::Requirement
38
+ requirement: &15833260 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *18633220
46
+ version_requirements: *15833260
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: unicorn
49
- requirement: &18632480 !ruby/object:Gem::Requirement
49
+ requirement: &15832660 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *18632480
57
+ version_requirements: *15832660
58
58
  description: Description of OpenteamCommons.
59
59
  email:
60
60
  - mail@openteam.ru
@@ -90,7 +90,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
90
  version: '0'
91
91
  segments:
92
92
  - 0
93
- hash: -4125852125082459204
93
+ hash: -3340776006057042492
94
94
  required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  version: '0'
100
100
  segments:
101
101
  - 0
102
- hash: -4125852125082459204
102
+ hash: -3340776006057042492
103
103
  requirements: []
104
104
  rubyforge_project:
105
105
  rubygems_version: 1.8.16