aboutsummaryrefslogtreecommitdiffstats
path: root/app/workers
diff options
context:
space:
mode:
authorZog2018-03-09 10:12:48 +0100
committerZog2018-03-12 12:00:15 +0100
commitf65a9f30f600f092fe3596e9e4db3c015dd91616 (patch)
tree60883c3b12a3380d8a5219b032cb640ffc398e41 /app/workers
parent9b1da47adecbfb8d5d148fce06ad1aece18b41d0 (diff)
downloadchouette-core-f65a9f30f600f092fe3596e9e4db3c015dd91616.tar.bz2
Refs #6133; Full UX for exports
Also added a *dumb* `WorkgroupExport` for testing purposes.
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/simple_export_worker.rb5
-rw-r--r--app/workers/workgroup_export_worker.rb38
2 files changed, 42 insertions, 1 deletions
diff --git a/app/workers/simple_export_worker.rb b/app/workers/simple_export_worker.rb
index 953ded92f..d41736307 100644
--- a/app/workers/simple_export_worker.rb
+++ b/app/workers/simple_export_worker.rb
@@ -2,6 +2,9 @@ class SimpleExportWorker
include Sidekiq::Worker
def perform(export_id)
- Export::Base.find(export_id).call_exporter
+ export = Export::Base.find(export_id)
+ export.update(status: 'running', started_at: Time.now)
+ export.call_exporter
+ export.update(ended_at: Time.now)
end
end
diff --git a/app/workers/workgroup_export_worker.rb b/app/workers/workgroup_export_worker.rb
new file mode 100644
index 000000000..29493cea6
--- /dev/null
+++ b/app/workers/workgroup_export_worker.rb
@@ -0,0 +1,38 @@
+class WorkgroupExportWorker
+ include Sidekiq::Worker
+
+ attr_reader :workbench_export
+
+ # Workers
+ # =======
+
+ def perform(export_id)
+ @entries = 0
+ @workbench_export ||= Export::Workgroup.find(export_id)
+
+ workbench_export.update(status: 'running', started_at: Time.now)
+ create_sub_jobs
+ rescue Exception => e
+ logger.error e.message
+ workbench_export.update( status: 'failed' )
+ raise
+ end
+
+ def create_sub_jobs
+ # XXX TO DO
+ workbench_export.workbench.workgroup.referentials.each do |ref|
+ ref.lines.each do |line|
+ netex_export = Export::Netex.new
+ netex_export.name = "Export line #{line.name} of Referential #{ref.name}"
+ netex_export.workbench = workbench_export.workbench
+ netex_export.creator = workbench_export.creator
+ netex_export.export_type = :line
+ netex_export.duration = workbench_export.duration
+ netex_export.line_code = line.objectid
+ netex_export.parent = workbench_export
+ netex_export.save!
+ end
+ end
+ end
+
+end