aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/referential_cloning.rb15
-rw-r--r--app/workers/referential_cloning_worker.rb2
2 files changed, 10 insertions, 7 deletions
diff --git a/app/models/referential_cloning.rb b/app/models/referential_cloning.rb
index 24117e6c8..a2b23e819 100644
--- a/app/models/referential_cloning.rb
+++ b/app/models/referential_cloning.rb
@@ -8,19 +8,22 @@ class ReferentialCloning < ActiveRecord::Base
ReferentialCloningWorker.perform_async(id)
end
- def clone!
+ def clone_with_status!
run!
-
- AF83::SchemaCloner
- .new(source_referential.slug, target_referential.slug)
- .clone_schema
-
+ clone!
successful!
rescue Exception => e
Rails.logger.error "Clone failed : #{e}"
+ Rails.logger.error e.backtrace.join('\n')
failed!
end
+ def clone!
+ AF83::SchemaCloner
+ .new(source_referential.slug, target_referential.slug)
+ .clone_schema
+ end
+
private
aasm column: :status do
diff --git a/app/workers/referential_cloning_worker.rb b/app/workers/referential_cloning_worker.rb
index e20148055..e24baa90c 100644
--- a/app/workers/referential_cloning_worker.rb
+++ b/app/workers/referential_cloning_worker.rb
@@ -2,6 +2,6 @@ class ReferentialCloningWorker
include Sidekiq::Worker
def perform(id)
- ReferentialCloning.find(id).clone!
+ ReferentialCloning.find(id).clone_with_status!
end
end