bridge_cache 0.0.23 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 606292ef00b7e26b433c0ef86e3cb7ef0695c077
4
- data.tar.gz: 108205d8ea4c8163d4589fe18c42c66de37536d7
3
+ metadata.gz: 12a709571d66b40c2d39368d3f4d9fa9f759467c
4
+ data.tar.gz: dfbaea168af960c1ebe559b0159a3999ebbe4da0
5
5
  SHA512:
6
- metadata.gz: 9a9a8a5662e8252cbaae2f5b2cdc88569d38f6d0e9947113a3aa521ac7883172573279293a7fd290ebd9b5693e1461829e9ed2e79f00c19825ac61555f69e9f4
7
- data.tar.gz: 3473f35b9b449db136394dfc8664a2b4268e4594d20ee06704eeab709498e002dd2681c74becf10078b4f0b9167d2d6e14aeabab2f5e2773a79d1f473773f76f
6
+ metadata.gz: b4d141ef24a57517a61c330cec52f8e708e4ab9408e3a1126f432ebc6da872ea703159d23e1f4f90688b891755d85fd7dfedc645167ea81dc5b8c4796dfc9992
7
+ data.tar.gz: 1f6543f447ace27377ad074aa24faa22525b6b08d05b8f86565f6ac31e0ccd3a3f108e4a3cbb25747046eb7a94d64902f290383ed6c6a70b3dc591936557d594
@@ -3,12 +3,16 @@ module BridgeCache::Jobs
3
3
  queue_as :default
4
4
  include BridgeCache::Utils::WorkerHelper
5
5
 
6
- def perform(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain = [])
6
+ ATTEMPTS_THRESHOLD = 30
7
+
8
+ def perform(bridge_base_url, bridge_api_key, bridge_api_secret, models, attempts, chain = [])
7
9
  remote_data = BridgeBlueprint::RemoteData.new(bridge_base_url, bridge_api_key, bridge_api_secret)
8
- if remote_data.status == BridgeBlueprint::Constants::STATUS_COMPLETE
10
+ if attempts > ATTEMPTS_THRESHOLD
11
+ Rails.logger.fatal("Bridge data dump failed to download after #{(ATTEMPTS_THRESHOLD * 30) / 60} minutes")
12
+ elsif remote_data.status == BridgeBlueprint::Constants::STATUS_COMPLETE
9
13
  BridgeCache::Jobs::ImportData.set(queue: self.queue_name).perform_later(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain)
10
14
  elsif remote_data.status == BridgeBlueprint::Constants::STATUS_PENDING
11
- BridgeCache::Jobs::ImportCheck.set(queue: self.queue_name, wait: 30.seconds).perform_later(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain)
15
+ BridgeCache::Jobs::ImportCheck.set(queue: self.queue_name, wait: 30.seconds).perform_later(bridge_base_url, bridge_api_key, bridge_api_secret, models, attempts + 1, chain)
12
16
  elsif remote_data.status == BridgeBlueprint::Constants::STATUS_FAILED || remote_data.status == BridgeBlueprint::Constants::STATUS_NOT_FOUND
13
17
  raise 'Bridge data dump download failed'
14
18
  end
@@ -4,24 +4,27 @@ module BridgeCache::Jobs
4
4
  queue_as :default
5
5
 
6
6
  def perform(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain = [])
7
- remote_data = BridgeBlueprint::RemoteData.new(bridge_base_url, bridge_api_key, bridge_api_secret)
8
- Dir.mktmpdir do |dir|
9
- path = "#{dir}/data_dump"
10
- remote_data.store_file(path)
11
- import = BridgeBlueprint::DataDump.new(path)
12
- models.each do |model|
13
- row_ids = []
7
+ begin
8
+ remote_data = BridgeBlueprint::RemoteData.new(bridge_base_url, bridge_api_key, bridge_api_secret)
9
+ Dir.mktmpdir do |dir|
10
+ path = "#{dir}/data_dump"
11
+ remote_data.store_file(path)
12
+ import = BridgeBlueprint::DataDump.new(path)
13
+ models.each do |model|
14
+ row_ids = []
14
15
 
15
- import.each_row(model.pluralize) do |row|
16
- BridgeCache::Jobs::ImportRow.set(queue: self.queue_name).perform_later(model, row.to_h)
17
- row_ids << row['id'].to_i
18
- end
16
+ import.each_row(model.pluralize) do |row|
17
+ BridgeCache::Jobs::ImportRow.set(queue: self.queue_name).perform_later(model, row.to_h)
18
+ row_ids << row['id'].to_i
19
+ end
19
20
 
20
- BridgeCache::Jobs::CleanupJob.set(queue: self.queue_name).perform_later(model, row_ids)
21
+ BridgeCache::Jobs::CleanupJob.set(queue: self.queue_name).perform_later(model, row_ids)
22
+ end
21
23
  end
24
+ BridgeCache::Utils::WorkerHelper.invoke_next(chain)
25
+ rescue => e
26
+ Rails.logger.debug(e)
22
27
  end
23
-
24
- BridgeCache::Utils::WorkerHelper.invoke_next(chain)
25
28
  end
26
29
  end
27
30
  end
@@ -3,18 +3,23 @@ module BridgeCache::Jobs
3
3
  queue_as :default
4
4
 
5
5
  def perform(bridge_base_url, bridge_api_key, bridge_api_secret, models, chain = [])
6
- data = BridgeBlueprint::RemoteData.new(bridge_base_url, bridge_api_key, bridge_api_secret)
7
- models = (['domain', 'affiliated_sub_account'] + models).uniq
8
- data.start_data_report
9
- BridgeCache::Jobs::ImportCheck
10
- .set(queue: self.queue_name, wait: 30.seconds)
11
- .perform_later(
12
- bridge_base_url,
13
- bridge_api_key,
14
- bridge_api_secret,
15
- models,
16
- chain
17
- )
6
+ begin
7
+ data = BridgeBlueprint::RemoteData.new(bridge_base_url, bridge_api_key, bridge_api_secret)
8
+ models = (['domain', 'affiliated_sub_account'] + models).uniq
9
+ data.start_data_report
10
+ BridgeCache::Jobs::ImportCheck
11
+ .set(queue: self.queue_name, wait: 30.seconds)
12
+ .perform_later(
13
+ bridge_base_url,
14
+ bridge_api_key,
15
+ bridge_api_secret,
16
+ models,
17
+ 0,
18
+ chain
19
+ )
20
+ rescue => e
21
+ Rails.logger.debug(e)
22
+ end
18
23
  end
19
24
  end
20
25
  end
@@ -1,3 +1,3 @@
1
1
  module BridgeCache
2
- VERSION = "0.0.23"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridge_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jshaffer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-29 00:00:00.000000000 Z
11
+ date: 2017-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,154 +30,154 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.0'
33
+ version: 0.0.04
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.0'
40
+ version: 0.0.04
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: actionmailer
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 5.1.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 5.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: byebug
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 9.1.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 9.1.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: actionpack
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 5.1.4
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 5.1.4
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec-rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 3.7.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 3.7.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: factory_girl_rails
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 4.9.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 4.9.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: combustion
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 0.7.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 0.7.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: 1.16.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: 1.16.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: database_cleaner
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: 1.6.2
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: 1.6.2
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pg
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: 0.21.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: '0'
166
+ version: 0.21.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: shoulda-matchers
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 3.1.2
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 3.1.2
181
181
  description: A mountable engine for bridge data storage
182
182
  email:
183
183
  - jshaffer@instructure.com
@@ -278,3 +278,4 @@ signing_key:
278
278
  specification_version: 4
279
279
  summary: A mountable engine for bridge data storage
280
280
  test_files: []
281
+ has_rdoc: