Module: Eco::API::UseCases::GraphQL::Samples::Location::Command::Service::TreeUpdate::InstanceMethods
- Defined in:
- lib/eco/api/usecases/graphql/samples/location/command/service/tree_update.rb
Instance Method Summary collapse
- #process ⇒ Object
-
#re_archive ⇒ Object
Before closing, run RE-ARCHIVE: those that where unarchived via archivedToken that should remain archived.
Instance Method Details
#process ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/eco/api/usecases/graphql/samples/location/command/service/tree_update.rb', line 20 def process with_error_handling do super end ensure rescued { re_archive } unless exception? rescued { email_digest('TagTree Update') } end |
#re_archive ⇒ Object
Note:
this is an additional necessary step
Before closing, run RE-ARCHIVE: those that where unarchived via archivedToken that should remain archived.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/eco/api/usecases/graphql/samples/location/command/service/tree_update.rb', line 32 def re_archive return if simulate? return if exception? stage = :rearchive nodes_diff_class.new( hash_list(current_tree), file_nodes_list, original_tree: current_tree, logger: logger ).tap do |nodes_diff| archive_input = input( nodes_diff.stage_commands(:archive), force_continue: true ) sliced_batches( archive_input, desc: stage, track_tree_mode: :once ) do |sliced_input, response, page, pages, count, total| # rubocop:disable Metrics/ParameterLists page_results = request_results_class.new(sliced_input, response) (results[stage] ||= []) << page_results self.error ||= page_errors?(page_results, page, pages, count, total, stage: stage) end end end |