syncache 1.2 → 1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/syncache-drb +6 -3
- data/syncache.gemspec +1 -1
- metadata +19 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ad9a99425eda744305f5d8040e296132bff7e063
|
4
|
+
data.tar.gz: 5b9352dd51839233cf65b4463d00b378b6a76cf1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9fae2c8ec3d435e712430fb251df22472dea9dff97ca8632d0335e416da449665357d4b799d5868c61b34b13376cb95c65e9798851e76ffc097ec3068c5afa01
|
7
|
+
data.tar.gz: 333db769142c045ee37527ca36384e491446e39410d82ce3f19a858d144eb4573ab1847c3d6d99723bb478986c5a4bc3543b21406f27dd3ac6fea97d967bff43
|
data/bin/syncache-drb
CHANGED
@@ -160,15 +160,18 @@ Options:
|
|
160
160
|
def trap_signals
|
161
161
|
shutdown = lambda do |sig|
|
162
162
|
Thread.new do
|
163
|
-
sleep 0.
|
163
|
+
sleep 0.01
|
164
164
|
DRb.stop_service
|
165
165
|
end
|
166
166
|
end
|
167
167
|
Signal.trap('INT', shutdown)
|
168
168
|
Signal.trap('TERM', shutdown)
|
169
169
|
Signal.trap('HUP') do |sig| # kill -HUP to flush cache
|
170
|
-
|
171
|
-
|
170
|
+
Thread.new do
|
171
|
+
sleep 0.01
|
172
|
+
@cache.flush
|
173
|
+
log 'cache flushed'
|
174
|
+
end
|
172
175
|
end
|
173
176
|
end
|
174
177
|
|
data/syncache.gemspec
CHANGED
metadata
CHANGED
@@ -1,24 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: syncache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
5
|
-
prerelease:
|
4
|
+
version: '1.3'
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dmitry Borodaenko
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-02-15 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
|
-
description:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
13
|
+
description: |
|
14
|
+
SynCache stores cached objects in a Hash that is protected by an advanced
|
15
|
+
two-level locking mechanism which ensures that:
|
16
|
+
|
17
|
+
* Multiple threads can add and fetch objects in parallel.
|
18
|
+
* While one thread is working on a cache entry, other threads can access
|
19
|
+
the rest of the cache with no waiting on the global lock, no race
|
20
|
+
conditions nor deadlock or livelock situations.
|
21
|
+
* While one thread is performing a long and resource-intensive
|
22
|
+
operation, other threads that request the same data will be put on hold,
|
23
|
+
and as soon as the first thread completes the operation, the result will be
|
24
|
+
returned to all threads.
|
22
25
|
email: angdraug@debian.org
|
23
26
|
executables:
|
24
27
|
- syncache-drb
|
@@ -41,27 +44,26 @@ files:
|
|
41
44
|
homepage: https://github.com/angdraug/syncache
|
42
45
|
licenses:
|
43
46
|
- GPL3+
|
47
|
+
metadata: {}
|
44
48
|
post_install_message:
|
45
49
|
rdoc_options: []
|
46
50
|
require_paths:
|
47
51
|
- lib
|
48
52
|
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
53
|
requirements:
|
51
|
-
- -
|
54
|
+
- - ">="
|
52
55
|
- !ruby/object:Gem::Version
|
53
56
|
version: '0'
|
54
57
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
58
|
requirements:
|
57
|
-
- -
|
59
|
+
- - ">="
|
58
60
|
- !ruby/object:Gem::Version
|
59
61
|
version: '0'
|
60
62
|
requirements: []
|
61
63
|
rubyforge_project:
|
62
|
-
rubygems_version:
|
64
|
+
rubygems_version: 2.4.5.1
|
63
65
|
signing_key:
|
64
|
-
specification_version:
|
66
|
+
specification_version: 4
|
65
67
|
summary: Thread-safe time-limited cache with flexible replacement policy
|
66
68
|
test_files:
|
67
69
|
- test/ts_syncache.rb
|