celluloid-essentials 0.20.0 → 0.20.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/celluloid-essentials.gemspec +1 -1
- data/lib/celluloid/internals/cpu_counter.rb +36 -9
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 298af10b2efa750acf7ed68d7fe8d1380d02aa7d
|
4
|
+
data.tar.gz: fb8f2c3b686218ac91f6c4de93b1f6edc66f0022
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0beda51987351c6f0111d7d1c753058fdcb1e6390e58ff56515cf0743c58a1c4ef43629a7aab30de11cc4eff4ae1a03686b6d38dd9db3879e995837e31aa482
|
7
|
+
data.tar.gz: 2b9064f0c050853e00400fa225bcf14d78b0db1fc928c7ea37af52baa86a57089fdc09fc1f8eed2b71a1e2237e20430e5a0e16f57d5b7c88cc491b8ab6f68c13
|
@@ -4,7 +4,7 @@ require File.expand_path("../culture/sync", __FILE__)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "celluloid-essentials"
|
7
|
-
gem.version = "0.20.
|
7
|
+
gem.version = "0.20.1"
|
8
8
|
gem.platform = Gem::Platform::RUBY
|
9
9
|
gem.summary = "Internally used tools, and superstructural dependencies of Celluloid"
|
10
10
|
gem.description = "Notifications, Internals, Logging, Probe, and essential Celluloid pieces demanding Supervision"
|
@@ -6,29 +6,56 @@ module Celluloid
|
|
6
6
|
@cores ||= count_cores
|
7
7
|
end
|
8
8
|
|
9
|
-
private
|
9
|
+
private unless $CELLULOID_TEST
|
10
10
|
|
11
11
|
def count_cores
|
12
|
-
|
13
|
-
Integer(result.to_s[/\d+/], 10) if result
|
12
|
+
from_result(from_env || from_sysdev || from_java || from_proc || from_win32ole || from_sysctl) || 1
|
14
13
|
end
|
15
14
|
|
16
15
|
def from_env
|
17
16
|
result = ENV["NUMBER_OF_PROCESSORS"]
|
18
|
-
result if result
|
17
|
+
result if result && !result.empty?
|
18
|
+
rescue
|
19
19
|
end
|
20
20
|
|
21
21
|
def from_sysdev
|
22
22
|
::IO.read("/sys/devices/system/cpu/present").split("-").last.to_i + 1
|
23
23
|
rescue Errno::ENOENT
|
24
|
-
|
25
|
-
|
24
|
+
begin
|
25
|
+
result = Dir["/sys/devices/system/cpu/cpu*"].count { |n| n =~ /cpu\d+/ }
|
26
|
+
result unless result.zero?
|
27
|
+
rescue
|
28
|
+
end
|
29
|
+
rescue
|
30
|
+
end
|
31
|
+
|
32
|
+
def from_java
|
33
|
+
Java::Java.lang.Runtime.getRuntime.availableProcessors if defined? Java::Java
|
34
|
+
rescue
|
35
|
+
end
|
36
|
+
|
37
|
+
def from_proc
|
38
|
+
File.read('/proc/cpuinfo').scan(/^processor\s*:/).size if File.exist?('/proc/cpuinfo')
|
39
|
+
rescue
|
40
|
+
end
|
41
|
+
|
42
|
+
def from_win32ole
|
43
|
+
require 'win32ole'
|
44
|
+
WIN32OLE.connect("winmgmts://").ExecQuery("select * from Win32_ComputerSystem").NumberOfProcessors
|
45
|
+
rescue
|
26
46
|
end
|
27
47
|
|
28
48
|
def from_sysctl
|
29
|
-
|
30
|
-
|
31
|
-
|
49
|
+
Integer `sysctl -n hw.ncpu 2>/dev/null`
|
50
|
+
rescue
|
51
|
+
end
|
52
|
+
|
53
|
+
def from_result(result)
|
54
|
+
if result
|
55
|
+
i = Integer(result.to_s[/\d+/], 10)
|
56
|
+
return i if i > 0
|
57
|
+
end
|
58
|
+
rescue
|
32
59
|
end
|
33
60
|
end
|
34
61
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: celluloid-essentials
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.20.
|
4
|
+
version: 0.20.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Arcieri
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-07-
|
12
|
+
date: 2015-07-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -320,7 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
320
320
|
version: 1.3.6
|
321
321
|
requirements: []
|
322
322
|
rubyforge_project:
|
323
|
-
rubygems_version: 2.4.
|
323
|
+
rubygems_version: 2.4.8
|
324
324
|
signing_key:
|
325
325
|
specification_version: 4
|
326
326
|
summary: Internally used tools, and superstructural dependencies of Celluloid
|