Class: Nexo::DeleteRemoteResourceJob
- Includes:
- ApiClients
- Defined in:
- app/jobs/nexo/delete_remote_resource_job.rb
Overview
-
Removing/discarding Element’s
Instance Method Summary collapse
-
#perform(element) ⇒ Object
Once discarded, an Element is obsolete and cant be restored because even though some APIs may allow it, others may not.
Instance Method Details
#perform(element) ⇒ Object
Once discarded, an Element is obsolete and cant be restored because even though some APIs may allow it, others may not.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/jobs/nexo/delete_remote_resource_job.rb', line 10 def perform(element) raise "element already discarded" if element.discarded? ServiceBuilder.instance.build_protocol_service(element.folder).remove(element) ElementService.new(element:).discard! # Fetch the removed/cancelled version FetchRemoteResourceJob.perform_now(element) rescue Errors::ConflictingRemoteElementChange => e Nexo.logger.warn " ConflictingRemoteElementChange for \#{element.to_gid}. \\\n\n Performing now FetchRemoteResourceJob, so next attempt should succeed\n STR\n\n # NOTE: maybe this should be performed always directly in the first attempt?\n FetchRemoteResourceJob.perform_now(element)\n\n raise e\nend\n" |