bridge_cache 0.3.13 → 0.3.19

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
  SHA256:
3
- metadata.gz: 7807b753535e358a21d211239f0c1537571db6b37f7b19a6d2aa743555c6679b
4
- data.tar.gz: 41e76d02062ddc156b46da6bb510eb5b9284d96e6768a14c4a807e9df357b24a
3
+ metadata.gz: 4e0ef250eb9395352435e1651e2e2f64c9233ec7446dde9d93525c0cf26b7542
4
+ data.tar.gz: a7b54fef68c133c6a6012ccbf7ab7df18ecc73dadca293695456250dcd10c644
5
5
  SHA512:
6
- metadata.gz: 69ae469063b9800572c05a0506e75d42b51d38a006359623d672c8cb4cf54088ef9d74139c681ca0cf9bb25efdcc1fa1ccd8b4e2f64aa0088b48c44eeaaa6c29
7
- data.tar.gz: ddf4529b3865166164e3be8cdebd0a27a499f39a18163ea9a1c6cfb17f61b5c51b2c362d7bbfcdd12cae19551cc18e9e39a0190ddec02dddbcff6bc152b7ea81
6
+ metadata.gz: '05824d1406cec5c682f470d4cb4d3710ecff169a95add65899e345379b5f72317ed645548e04e4f276da1b72124c07ed40d3eb8fc6eb76c5490ecd5a31942008'
7
+ data.tar.gz: 166dc215b08233ff207146b5a6d9b831de4e5f6747c4a94a84278f4c561ea740c4ebb11af4b5e8b9a839f21cee36b52e9184f892af33373a77cdf863f8c33775
@@ -5,17 +5,24 @@ module BridgeCache::Jobs
5
5
 
6
6
  ATTEMPTS_THRESHOLD = 30
7
7
 
8
- def perform(account_settings, attempts, chain = [])
9
- account_settings = account_settings.with_indifferent_access
10
- remote_data = BridgeBlueprint::RemoteData.new(account_settings[:url], account_settings[:api_key], account_settings[:api_secret])
8
+ def remote_data
9
+ @remote_data ||= BridgeBlueprint::RemoteData.new(@account_settings[:url], @account_settings[:api_key], @account_settings[:api_secret])
10
+ end
11
+
12
+ def perform(account_settings, attempts, chain = [], retries = 0)
13
+ @account_settings = account_settings.with_indifferent_access
11
14
  if attempts > ATTEMPTS_THRESHOLD
12
15
  Rails.logger.fatal("Bridge data dump failed to download after #{(ATTEMPTS_THRESHOLD * 30) / 60} minutes")
13
16
  elsif remote_data.status == BridgeBlueprint::Constants::STATUS_COMPLETE
14
- BridgeCache::Jobs::ImportData.set(queue: queue_name).perform_later(account_settings, chain)
17
+ BridgeCache::Jobs::ImportData.set(queue: queue_name).perform_later(@account_settings, chain)
15
18
  elsif remote_data.status == BridgeBlueprint::Constants::STATUS_PENDING
16
- BridgeCache::Jobs::ImportCheck.set(queue: queue_name, wait: 30.seconds).perform_later(account_settings, attempts + 1, chain)
19
+ BridgeCache::Jobs::ImportCheck.set(queue: queue_name, wait: 30.seconds).perform_later(@account_settings, attempts + 1, chain)
17
20
  elsif remote_data.status == BridgeBlueprint::Constants::STATUS_FAILED || remote_data.status == BridgeBlueprint::Constants::STATUS_NOT_FOUND
18
- raise 'Bridge data dump download failed'
21
+ if retries < 1
22
+ raise 'Bridge data dump download failed'
23
+ else
24
+ BridgeCache::Jobs::ImportStart.set(queue: queue_name).perform_later(@account_settings, chain, retries - 1)
25
+ end
19
26
  end
20
27
  end
21
28
  end
@@ -10,7 +10,8 @@ module BridgeCache::Jobs
10
10
  path = "#{dir}/data_dump"
11
11
  remote_data.store_file(path)
12
12
  import = BridgeBlueprint::DataDump.new(path)
13
- BridgeCache.resolved_models(account_settings[:is_subaccount]).each do |model|
13
+ models = account_settings[:models] || BridgeCache.resolved_models(account_settings[:is_subaccount])
14
+ models.each do |model|
14
15
  ids = []
15
16
  ids << BridgeCache::Plugins::CSVDump.bulk_import(import, model)
16
17
  BridgeCache::Jobs::CleanupJob.set(queue: queue_name).perform_later(model, ids)
@@ -2,7 +2,7 @@ module BridgeCache::Jobs
2
2
  class ImportStart < ActiveJob::Base
3
3
  queue_as :default
4
4
 
5
- def perform(account_settings, chain = [])
5
+ def perform(account_settings, chain = [], retries = 0)
6
6
  data = BridgeBlueprint::RemoteData.new(account_settings[:url], account_settings[:api_key], account_settings[:api_secret])
7
7
  data.start_data_report
8
8
  BridgeCache::Jobs::ImportCheck
@@ -10,7 +10,8 @@ module BridgeCache::Jobs
10
10
  .perform_later(
11
11
  account_settings,
12
12
  0,
13
- chain
13
+ chain,
14
+ retries
14
15
  )
15
16
  end
16
17
  end
@@ -1,5 +1,6 @@
1
1
  class AddBridgeTimestampsToBridgeModels < ActiveRecord::Migration[5.1]
2
2
  def change
3
+ return unless BridgeCache.use_internal_database
3
4
  add_column :bridge_cache_affiliated_sub_accounts, :bridge_created_at, :datetime
4
5
  add_column :bridge_cache_course_templates, :bridge_created_at, :datetime
5
6
  add_column :bridge_cache_custom_fields, :bridge_created_at, :datetime
@@ -0,0 +1,6 @@
1
+ class AddHrisIdToBridgeCacheUsers < ActiveRecord::Migration[5.1]
2
+ def change
3
+ return unless BridgeCache.use_internal_database
4
+ add_column :bridge_cache_users, :hris_id, :string
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class ChangeExternalCourseIdToString < ActiveRecord::Migration[5.1]
2
+ def change
3
+ change_column :bridge_cache_course_templates, :external_course_id, :string
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module BridgeCache
2
- VERSION = '0.3.13'.freeze
2
+ VERSION = '0.3.19'.freeze
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.3.13
4
+ version: 0.3.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - jshaffer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-05 00:00:00.000000000 Z
11
+ date: 2020-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-import
@@ -56,20 +56,14 @@ dependencies:
56
56
  name: rein
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.4'
62
- - - "~>"
59
+ - - ">="
63
60
  - !ruby/object:Gem::Version
64
61
  version: 3.4.0
65
62
  type: :runtime
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
68
65
  requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: '3.4'
72
- - - "~>"
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
68
  version: 3.4.0
75
69
  - !ruby/object:Gem::Dependency
@@ -267,6 +261,8 @@ files:
267
261
  - db/migrate/20180801162929_create_bridge_cache_hosts.rb
268
262
  - db/migrate/20180925210056_add_bridge_timestamps_to_bridge_models.rb
269
263
  - db/migrate/20190801163930_create_user_course_visits.rb
264
+ - db/migrate/20200717142423_add_hris_id_to_bridge_cache_users.rb
265
+ - db/migrate/20201102153622_change_external_course_id_to_string.rb
270
266
  - lib/bridge_cache.rb
271
267
  - lib/bridge_cache/engine.rb
272
268
  - lib/bridge_cache/version.rb
@@ -275,7 +271,7 @@ homepage: https://www.getbridge.com
275
271
  licenses:
276
272
  - MIT
277
273
  metadata: {}
278
- post_install_message:
274
+ post_install_message:
279
275
  rdoc_options: []
280
276
  require_paths:
281
277
  - lib
@@ -291,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
287
  version: '0'
292
288
  requirements: []
293
289
  rubygems_version: 3.0.3
294
- signing_key:
290
+ signing_key:
295
291
  specification_version: 4
296
292
  summary: A mountable engine for bridge data storage
297
293
  test_files: []