redis-spawn 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -6,6 +6,7 @@ require 'redis/spawn'
6
6
  task :test do
7
7
  require 'cutest'
8
8
 
9
+ PROCESS_PID = Process.pid.to_s
9
10
  Cutest.run(Dir["./test/**/*_test.rb"])
10
11
  end
11
12
 
data/lib/redis/spawn.rb CHANGED
@@ -119,7 +119,7 @@ class Redis
119
119
 
120
120
  # Make sure we clean up after our children and avoid a zombie invasion
121
121
  trap("CLD") do
122
- pid = Process.wait
122
+ pid = Process.wait(-1, Process::WNOHANG)
123
123
  end
124
124
 
125
125
  # Start the server
@@ -129,6 +129,7 @@ class Redis
129
129
  at_exit do
130
130
  # Maybe make this configurable to allow the server to continue after exit
131
131
  self.shutdown!
132
+ Process.wait(@pid, Process::WNOHANG) if (@pid && @pid != 0)
132
133
  end
133
134
 
134
135
  self.pid
@@ -1,5 +1,5 @@
1
1
  class Redis
2
2
  class SpawnServer
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
@@ -1,4 +1,3 @@
1
- require File.expand_path("./build_config_helper", File.dirname(__FILE__))
2
1
  require File.expand_path("./helper", File.dirname(__FILE__))
3
2
 
4
3
  test "build_config_line" do
@@ -12,25 +11,36 @@ setup do
12
11
  @test_config_defaults = <<TEST_CONF_END
13
12
  port 0
14
13
  bind 127.0.0.1
15
- unixsocket /tmp/redis-spawned.0.sock
14
+ unixsocket /tmp/redis-spawned.#{PROCESS_PID}.sock
16
15
  loglevel notice
17
- logfile /tmp/redis-spawned.0.log
16
+ logfile /tmp/redis-spawned.#{PROCESS_PID}.log
17
+ timeout 0
18
18
  databases 16
19
19
  save 900 1
20
20
  save 300 10
21
21
  save 60 10000
22
+ stop-writes-on-bgsave-error yes
22
23
  rdbcompression yes
24
+ rdbchecksum yes
23
25
  dbfilename dump.rdb
24
- dir /tmp/redis-spawned.0.data
26
+ dir /tmp/redis-spawned.#{PROCESS_PID}.data
25
27
  appendonly no
26
28
  appendfsync everysec
27
- vm-enabled no
28
- hash-max-zipmap-entries 512
29
- hash-max-zipmap-value 64
29
+ no-appendfsync-on-rewrite no
30
+ lua-time-limit 5000
31
+ slowlog-log-slower-than 10000
32
+ slowlog-max-len 128
33
+ hash-max-ziplist-entries 512
34
+ hash-max-ziplist-value 64
30
35
  list-max-ziplist-entries 512
31
36
  list-max-ziplist-value 64
32
37
  set-max-intset-entries 512
38
+ zset-max-ziplist-entries 128
39
+ zset-max-ziplist-value 64
33
40
  activerehashing yes
41
+ client-output-buffer-limit normal 0 0 0
42
+ client-output-buffer-limit slave 256mb 64mb 60
43
+ client-output-buffer-limit pubsub 32mb 8mb 60
34
44
  TEST_CONF_END
35
45
  end
36
46
 
@@ -39,29 +49,40 @@ test "build_config with defaults" do
39
49
  end
40
50
 
41
51
  setup do
42
- @test_config_defaults = <<TEST_CONF_END
52
+ @test_config_overrides = <<TEST_CONF_END
43
53
  port 0
44
54
  bind 127.0.0.1
45
55
  unixsocket /tmp/redis-spawned.override.sock
46
56
  loglevel notice
47
57
  logfile /tmp/redis-spawned.override.log
58
+ timeout 0
48
59
  databases 8
49
60
  save 900 1
50
61
  save 300 10
51
62
  save 100 1000
52
63
  save 60 10000
64
+ stop-writes-on-bgsave-error yes
53
65
  rdbcompression no
66
+ rdbchecksum yes
54
67
  dbfilename dump.rdb
55
68
  dir /tmp/redis-spawned.override.data
56
69
  appendonly no
57
70
  appendfsync everysec
58
- vm-enabled no
59
- hash-max-zipmap-entries 512
60
- hash-max-zipmap-value 64
71
+ no-appendfsync-on-rewrite no
72
+ lua-time-limit 5000
73
+ slowlog-log-slower-than 10000
74
+ slowlog-max-len 128
75
+ hash-max-ziplist-entries 512
76
+ hash-max-ziplist-value 64
61
77
  list-max-ziplist-entries 512
62
78
  list-max-ziplist-value 64
63
79
  set-max-intset-entries 512
80
+ zset-max-ziplist-entries 128
81
+ zset-max-ziplist-value 64
64
82
  activerehashing yes
83
+ client-output-buffer-limit normal 0 0 0
84
+ client-output-buffer-limit slave 256mb 64mb 60
85
+ client-output-buffer-limit pubsub 32mb 8mb 60
65
86
  TEST_CONF_END
66
87
  end
67
88
 
@@ -74,7 +95,7 @@ test "build_config with overrides" do
74
95
  rdbcompression: "no",
75
96
  dir: "/tmp/redis-spawned.override.data"
76
97
  }
77
- assert @test_config_defaults == Redis::SpawnServer.new(start: false, server_opts: overrides).build_config
98
+ assert @test_config_overrides == Redis::SpawnServer.new(start: false, server_opts: overrides).build_config
78
99
  end
79
100
 
80
101
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-spawn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-15 00:00:00.000000000 Z
12
+ date: 2013-07-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
@@ -59,7 +59,6 @@ files:
59
59
  - test/write_config_test.rb
60
60
  - test/helper.rb
61
61
  - test/spawn_test.rb
62
- - test/build_config_helper.rb
63
62
  - test/build_config_test.rb
64
63
  homepage: http://github.com/lichp/redis-spawn
65
64
  licenses: []
@@ -1,14 +0,0 @@
1
- # Monkeypatch Process to allow for consistent value of Process.pid in tests
2
- module Process
3
- class << self
4
- alias :redis_spawn_original_pid :pid
5
-
6
- def pid
7
- if caller[0] =~ /redis\/spawn/
8
- return 0
9
- else
10
- return redis_spawn_original_pid
11
- end
12
- end
13
- end
14
- end