Module: Import::Framework::ProgressTracking
- Included in:
- Gitlab::ImportExport::AvatarRestorer, Gitlab::ImportExport::Group::RelationTreeRestorer, Gitlab::ImportExport::LfsRestorer, Gitlab::ImportExport::RepoRestorer, Gitlab::ImportExport::SnippetRepoRestorer, Gitlab::ImportExport::StatisticsRestorer, Gitlab::ImportExport::UploadsManager
- Defined in:
- lib/import/framework/progress_tracking.rb
Constant Summary collapse
- CACHE_EXPIRATION =
3.days.to_i
Instance Method Summary collapse
- #processed_entry?(scope:, data:) ⇒ Boolean
- #save_processed_entry(scope:, data:) ⇒ Object
- #with_progress_tracking(scope:, data:) ⇒ Object
Instance Method Details
#processed_entry?(scope:, data:) ⇒ Boolean
22 23 24 |
# File 'lib/import/framework/progress_tracking.rb', line 22 def processed_entry?(scope:, data:) Gitlab::Cache::Import::Caching.set_includes?(cache_key(scope), data) end |
#save_processed_entry(scope:, data:) ⇒ Object
18 19 20 |
# File 'lib/import/framework/progress_tracking.rb', line 18 def save_processed_entry(scope:, data:) Gitlab::Cache::Import::Caching.set_add(cache_key(scope), data, timeout: CACHE_EXPIRATION) end |
#with_progress_tracking(scope:, data:) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/import/framework/progress_tracking.rb', line 8 def with_progress_tracking(scope:, data:) return true if processed_entry?(scope: scope, data: data) result = yield save_processed_entry(scope: scope, data: data) result end |