onebody-updateagent 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/lib/updateagent/updateagent.rb +18 -11
- metadata +32 -24
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f882b057fa7b6a9b26e58f52e4d1daf9d2bf2f08
|
4
|
+
data.tar.gz: 47dfca0fd1b69709334dbc69a008434dc4de2b85
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7e17fa87e0aad25a61d349eacfc32084269f64c00a8435df4134c47f05d2a05af60d2df2a0923236b7b03057adefc78d6f319d6b4005815475472b97b6477049
|
7
|
+
data.tar.gz: 0faff4c42a61b7ed3ecac915c7ae063a1a1e1dd383533e061921745f2a8fdd30191eca76600cb8f1fa074f0e00e01c23a7a37d31bad4575152fcf91a79bb97a7
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.6
|
@@ -4,9 +4,12 @@ class UpdateAgent
|
|
4
4
|
MAX_HASHES_AT_A_TIME = 500
|
5
5
|
MAX_TO_BATCH_AT_A_TIME = 10
|
6
6
|
SLEEP_PERIOD = 3
|
7
|
+
RETRIES = 5
|
8
|
+
RETRY_SLEEP = 15
|
7
9
|
|
8
10
|
def initialize(data=nil, options={})
|
9
11
|
@options = options
|
12
|
+
@options['debug'] = true
|
10
13
|
@attributes = []
|
11
14
|
@data = []
|
12
15
|
@create = []
|
@@ -127,22 +130,26 @@ class UpdateAgent
|
|
127
130
|
@errors = []
|
128
131
|
puts 'Updating remote end...'
|
129
132
|
index = 0
|
130
|
-
retries = 10
|
131
133
|
print "#{resource.name} 0/0\r"; STDOUT.flush
|
132
134
|
(@create + @update).each_slice(MAX_TO_BATCH_AT_A_TIME) do |records|
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
135
|
+
post_succeeded = false
|
136
|
+
response = nil
|
137
|
+
RETRIES.times do |i|
|
138
|
+
begin
|
139
|
+
xml = {:options => @options['remote_options'], :records => records}.to_xml
|
140
|
+
response = resource.post(:batch, {}, xml)
|
141
|
+
rescue ActiveResource::TimeoutError, ActiveResource::ServerError
|
142
|
+
puts "ActiveResource::TimeoutError with xml:\n#{xml}\n\n"
|
143
|
+
if i < RETRIES-1
|
144
|
+
puts "waiting for #{RETRY_SLEEP} seconds to retry..."
|
145
|
+
sleep RETRY_SLEEP
|
146
|
+
end
|
142
147
|
else
|
143
|
-
|
148
|
+
post_succeeded = true
|
144
149
|
end
|
150
|
+
break if post_succeeded
|
145
151
|
end
|
152
|
+
exit(1) unless post_succeeded
|
146
153
|
statuses = Hash.from_xml(response.body)['objects']
|
147
154
|
statuses.each do |status|
|
148
155
|
record = data_by_id[status['legacy_id'].to_i]
|
metadata
CHANGED
@@ -1,49 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onebody-updateagent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tim Morgan
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-07-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: fastercsv
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: highline
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: activeresource
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
45
|
- - ~>
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: 2.3.14
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.3.14
|
47
55
|
description:
|
48
56
|
email: tim@timmorgan.org
|
49
57
|
executables:
|
@@ -51,41 +59,41 @@ executables:
|
|
51
59
|
extensions: []
|
52
60
|
extra_rdoc_files: []
|
53
61
|
files:
|
54
|
-
- VERSION
|
55
|
-
- example.yml
|
56
|
-
- example.csv
|
57
62
|
- README.markdown
|
63
|
+
- VERSION
|
58
64
|
- bin/update_onebody
|
65
|
+
- example.csv
|
66
|
+
- example.yml
|
59
67
|
- lib/onebody-updateagent.rb
|
68
|
+
- lib/updateagent/converters/acs_converter.rb
|
60
69
|
- lib/updateagent/hash_extensions.rb
|
61
70
|
- lib/updateagent/resources.rb
|
62
71
|
- lib/updateagent/schema.rb
|
63
72
|
- lib/updateagent/updateagent.rb
|
64
|
-
- lib/updateagent/converters/acs_converter.rb
|
65
73
|
- lib/updateagent/updaters/family_updater.rb
|
66
74
|
- lib/updateagent/updaters/people_updater.rb
|
67
75
|
homepage: http://github.com/seven1m/onebody-updateagent
|
68
76
|
licenses: []
|
77
|
+
metadata: {}
|
69
78
|
post_install_message:
|
70
79
|
rdoc_options: []
|
71
80
|
require_paths:
|
72
81
|
- lib
|
73
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
83
|
requirements:
|
76
|
-
- -
|
84
|
+
- - '>='
|
77
85
|
- !ruby/object:Gem::Version
|
78
86
|
version: '0'
|
79
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
88
|
requirements:
|
82
|
-
- -
|
89
|
+
- - '>='
|
83
90
|
- !ruby/object:Gem::Version
|
84
91
|
version: '0'
|
85
92
|
requirements: []
|
86
93
|
rubyforge_project:
|
87
|
-
rubygems_version:
|
94
|
+
rubygems_version: 2.2.2
|
88
95
|
signing_key:
|
89
|
-
specification_version:
|
96
|
+
specification_version: 4
|
90
97
|
summary: Companion to OneBody that handles sync with external data source.
|
91
98
|
test_files: []
|
99
|
+
has_rdoc: false
|