filecluster 0.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/TODO CHANGED
@@ -1,5 +1,4 @@
1
1
  пернести захардкоженные настройки
2
- периодически удалять пустые папки
3
2
  при создании item-а по папке проверять что папка не пустая
4
3
  добавить в check storage проверку на дорступность урла
5
4
 
@@ -8,5 +7,4 @@
8
7
  алерт: проверка раз в сутки на количество is задержавшихся в статусе delete и copy дольше суток (NOW - time > 86400)
9
8
 
10
9
  bin:
11
- управление из командной строки: добавление, изменение и получение статуса объектов
12
- в ручную запускаемая задача синхронизации фс и бд
10
+ управление из командной строки: добавление, изменение и получение статуса объектов
@@ -24,8 +24,8 @@ Command:
24
24
  rm <name> delete storage
25
25
  change <name> change storage attributes
26
26
  update_size <name> update storage size
27
- sync_info show information about synchronization storage and file system
28
- sync synchronize storage and file system
27
+ sync_info <name> show information about synchronization storage and file system
28
+ sync <name> synchronize storage and file system
29
29
  }],
30
30
  'policies' => [
31
31
  'show list and manage plicies',
@@ -77,7 +77,7 @@ class GlobalDaemonThread < BaseThread
77
77
  def make_deleted_error_items_storages
78
78
  $log.debug("GlobalDaemonThread: make_deleted_error_items_storages")
79
79
  ttl = FC::Var.get('daemon_global_error_items_storages_ttl', 86400).to_i
80
- FC::DB.query("UPDATE #{FC::ItemStorage.table_name} SET status = 'delete' WHERE status = 'error' AND time < #{Time.new.to_i - ttl}")
80
+ FC::DB.query("UPDATE #{FC::ItemStorage.table_name} SET status = 'delete' WHERE status IN ('error', 'copy') AND time < #{Time.new.to_i - ttl}")
81
81
  end
82
82
 
83
83
  def make_deleted_error_items
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = "0.2"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -146,16 +146,19 @@ def storages_change
146
146
  end
147
147
  end
148
148
 
149
- def sync_info
149
+ def storages_sync_info
150
150
  if storage = find_storage
151
- print "Synchronization info for (#{storage.name}) storage and file system (#{storage.path})."
151
+ return puts "Storage #{storage.name} is not local." if storage.host != FC::Storage.curr_host
152
+ puts "Get synchronization info for (#{storage.name}) storage and file system (#{storage.path}).."
152
153
  make_storages_sync(storage, false)
154
+ puts "Done."
153
155
  end
154
156
  end
155
157
 
156
158
  def storages_sync
157
159
  if storage = find_storage
158
- print "Synchronize (#{storage.name}) storage and file system (#{storage.path})."
160
+ return puts "Storage #{storage.name} is not local." if storage.host != FC::Storage.curr_host
161
+ puts "Synchronize (#{storage.name}) storage and file system (#{storage.path}).."
159
162
  s = Readline.readline("Continue? (y/n) ", false).strip.downcase
160
163
  puts ""
161
164
  if s == "y" || s == "yes"
metadata CHANGED
@@ -1,111 +1,126 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filecluster
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - sh
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-07-03 00:00:00.000000000 Z
12
+ date: 2013-07-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rb-readline
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: mysql2
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: bundler
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: test-unit
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rake
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: shoulda-context
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - '>='
99
+ - - ! '>='
88
100
  - !ruby/object:Gem::Version
89
101
  version: '0'
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - '>='
107
+ - - ! '>='
95
108
  - !ruby/object:Gem::Version
96
109
  version: '0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: mocha
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - '>='
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: 0.13.3
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - '>='
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: 0.13.3
111
126
  description: Distributed storage
@@ -163,26 +178,33 @@ files:
163
178
  - test/version_test.rb
164
179
  homepage: ''
165
180
  licenses: []
166
- metadata: {}
167
181
  post_install_message:
168
182
  rdoc_options: []
169
183
  require_paths:
170
184
  - lib
171
185
  required_ruby_version: !ruby/object:Gem::Requirement
186
+ none: false
172
187
  requirements:
173
- - - '>='
188
+ - - ! '>='
174
189
  - !ruby/object:Gem::Version
175
190
  version: '0'
191
+ segments:
192
+ - 0
193
+ hash: 1102221497557017390
176
194
  required_rubygems_version: !ruby/object:Gem::Requirement
195
+ none: false
177
196
  requirements:
178
- - - '>='
197
+ - - ! '>='
179
198
  - !ruby/object:Gem::Version
180
199
  version: '0'
200
+ segments:
201
+ - 0
202
+ hash: 1102221497557017390
181
203
  requirements: []
182
204
  rubyforge_project:
183
- rubygems_version: 2.0.3
205
+ rubygems_version: 1.8.24
184
206
  signing_key:
185
- specification_version: 4
207
+ specification_version: 3
186
208
  summary: Distributed storage
187
209
  test_files:
188
210
  - test/base_test.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: b456dec7949f50fd5082b13bd5aad2c6ecf852c6
4
- data.tar.gz: 0c05bff392e9a9fddb9843104cef69335327fd1e
5
- SHA512:
6
- metadata.gz: cdd07e299a989e265c94045198104600cf6a87234cea244ca8d32bc4774a2c5820583d21670d2a396da8792f678e573d772a14607e5d19b600e1f516ce3d180a
7
- data.tar.gz: cf967fd389881cf282da7a93516710c5998ef4df4fa4790f915781d2134c57ebd2dcdfd41b2e5d52f884748be118ff998baca0960bca1b84e9dffb5617b67188