openteam-commons 0.0.4 → 0.0.5

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.
@@ -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