mdbm_dist_support 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +4 -8
- data/lib/mdbm_dist_support/distributer.rb +6 -5
- data/lib/mdbm_dist_support/validator.rb +2 -3
- data/lib/mdbm_dist_support/version.rb +1 -1
- data/update.rb +14 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd99e670304709edfb7535cc8196413064bd9ed6
|
4
|
+
data.tar.gz: a7c4284c3eb2f223955698bf9f3072c412f2a7a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19700472b943e42ee7a8bfa3a0ec8ad3c658c45401949719db4e38b3eb20bd2aef424358b0458983a8a551b544ee35e6f6dd41243459608e1a236ea0a8b6f222
|
7
|
+
data.tar.gz: 3820d6ca97378d15905d57c477e2eef6f431877aa71c1c37b52f0dc9f7e633aadaba961d79868c5a7c25a865efe78a92bc9edb50cd033da0b695f37bd764b029
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -37,7 +37,6 @@ MdbmDistSupport::Distributer.new do |m|
|
|
37
37
|
:host => 'remote2', :port => 22, :user => 'hee', :key => '/home/hee/.ssh/id_rsa',
|
38
38
|
:host => 'remote3', :port => 22, :user => 'hyo', :key => '/home/hyo/.ssh/id_rsa',
|
39
39
|
]
|
40
|
-
m.meta_incr_key = 'when_processed_fetched_max_date'
|
41
40
|
end.run_dist
|
42
41
|
```
|
43
42
|
#### settings @run_dist
|
@@ -50,27 +49,24 @@ end.run_dist
|
|
50
49
|
|cmd_print|print command path|need to make|
|
51
50
|
|cmd_gen|generate mdbm command path or `:mdbm_store_func`|need to make if you want to generate mdbm othert than _String:String_ set like _int64:String_, _int32:int64_.if you set `:mdbm_store_func` only, set use mdbm.stroe() function.|
|
52
51
|
|cmd_rep|replace mdbm command path|[mdbm_replace](https://github.com/yahoo/mdbm/blob/master/gendoc/mdbm_replace.rst)|
|
53
|
-
|full_mode|`true`: full `false`:
|
52
|
+
|full_mode|`true`: full `false`: inc|when you set `false`, distribute when `meta_mdbm_increment_key` key in meta was updated only.|
|
54
53
|
|dist_servers|distribute server info array||
|
55
|
-
|meta_incr_key|meta mdbm key using incremental mode||
|
56
54
|
|
57
55
|
#### print.rb
|
58
56
|
```ruby
|
59
57
|
require 'mdbm_dist_support'
|
60
58
|
|
61
59
|
puts "1111111\tFUGAFUGA"
|
62
|
-
|
60
|
+
inc_key = '2017-09-09 11:11:11'
|
63
61
|
|
64
62
|
MdbmDistSupport::Distributer.new do |m|
|
65
|
-
m.meta_path
|
66
|
-
|
67
|
-
end.run_print_after(fetched_max_date)
|
63
|
+
m.meta_path = '/tmp/hoge_meta.mdbm'
|
64
|
+
end.run_print_after(inc_key)
|
68
65
|
```
|
69
66
|
#### settings @run_print_after
|
70
67
|
|name|value|
|
71
68
|
|:-----------|:------------|
|
72
69
|
|meta_path|meta mdbm path|
|
73
|
-
|meta_incr_key|meta mdbm key using incremental mode|
|
74
70
|
|
75
71
|
## Requires
|
76
72
|
* [mdbm](https://github.com/yahoo/mdbm)
|
@@ -8,9 +8,10 @@ require 'mdbm'
|
|
8
8
|
module MdbmDistSupport
|
9
9
|
# Mdbm distributer
|
10
10
|
class Distributer
|
11
|
+
INCR_KEY = 'meta_mdbm_increment_key'.freeze
|
11
12
|
attr_accessor :lock_path, :meta_path, :meta, :local_path,\
|
12
13
|
:dist_path, :cmd_print, :cmd_gen, :cmd_rep,\
|
13
|
-
:dist_servers, :
|
14
|
+
:dist_servers, :full_mode
|
14
15
|
|
15
16
|
include MdbmDistSupport::CustomLogger
|
16
17
|
|
@@ -29,16 +30,16 @@ module MdbmDistSupport
|
|
29
30
|
|
30
31
|
def run_print_after(meta_val)
|
31
32
|
raise 'validate error' unless MdbmDistSupport::Validator.valid_run_print_after_settings?(instance_variables)
|
32
|
-
@meta.store(
|
33
|
+
@meta.store(INCR_KEY, meta_val)
|
33
34
|
end
|
34
35
|
|
35
36
|
private
|
36
37
|
|
37
38
|
def local_up
|
38
39
|
Tempfile.create('mdbm_dist_support') do |f|
|
39
|
-
date_b = @meta.fetch(
|
40
|
+
date_b = @meta.fetch(INCR_KEY)
|
40
41
|
cmd_exec %(#{@cmd_print} > #{f.path})
|
41
|
-
date_a = @meta.fetch(
|
42
|
+
date_a = @meta.fetch(INCR_KEY)
|
42
43
|
if @full_mode == false && date_a == date_b
|
43
44
|
@@logger.info 'no need to update'
|
44
45
|
break
|
@@ -49,7 +50,7 @@ module MdbmDistSupport
|
|
49
50
|
|
50
51
|
def do_mdbm_store(f)
|
51
52
|
f.each_line do |s|
|
52
|
-
kv = s.split("\t")
|
53
|
+
kv = s.chomp.split("\t")
|
53
54
|
m = Mdbm.new(@local_path, Mdbm::MDBM_O_RDWR | Mdbm::MDBM_O_CREAT, 0644, 0, 0)
|
54
55
|
m.store(kv[0], kv[1], Mdbm::MDBM_REPLACE)
|
55
56
|
end
|
@@ -5,11 +5,10 @@ module MdbmDistSupport
|
|
5
5
|
class Validator
|
6
6
|
RUN_DIST_REQUIRE_INSTANCE_VARS =
|
7
7
|
%i[@lock_path @meta_path @local_path @dist_path @cmd_print
|
8
|
-
@cmd_gen @cmd_rep @full_mode @dist_servers
|
9
|
-
@meta_incr_key].freeze
|
8
|
+
@cmd_gen @cmd_rep @full_mode @dist_servers].freeze
|
10
9
|
|
11
10
|
RUN_PRINT_AFTER_REQUIRE_INSTANCE_VARS =
|
12
|
-
%i[@meta_path
|
11
|
+
%i[@meta_path].freeze
|
13
12
|
|
14
13
|
include MdbmDistSupport::CustomLogger
|
15
14
|
|
data/update.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'mdbm_dist_support'
|
3
|
+
|
4
|
+
MdbmDistSupport::Distributer.new do |m|
|
5
|
+
m.lock_path = '/tmp/hoge.lck'
|
6
|
+
m.meta_path = '/tmp/hoge_meta.mdbm'
|
7
|
+
m.local_path = '/tmp/hoge_local.mdbm'
|
8
|
+
m.dist_path = '/tmp/hoge_dist.mdbm'
|
9
|
+
m.cmd_print = '/tmp/print.rb'
|
10
|
+
m.cmd_gen = :mdbm_store_func
|
11
|
+
m.cmd_rep = '/usr/local/bin/mdbm_replace'
|
12
|
+
m.full_mode = true
|
13
|
+
m.dist_servers = [ :host => 'localhost', :port => 61204, :user => 'shimizu', :key => '/home/shimizu/.ssh/id_rsa.bk']
|
14
|
+
end.run_dist
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdbm_dist_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MichinaoShimizu
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- lib/mdbm_dist_support/version.rb
|
92
92
|
- mdbm_dist.jpg
|
93
93
|
- mdbm_dist_support.gemspec
|
94
|
+
- update.rb
|
94
95
|
homepage: https://github.com/MichinaoShimizu/mdbm_dist_support
|
95
96
|
licenses: []
|
96
97
|
metadata: {}
|