diff options
| author | Zog | 2018-03-09 10:12:48 +0100 | 
|---|---|---|
| committer | Zog | 2018-03-12 12:00:15 +0100 | 
| commit | f65a9f30f600f092fe3596e9e4db3c015dd91616 (patch) | |
| tree | 60883c3b12a3380d8a5219b032cb640ffc398e41 /app/workers | |
| parent | 9b1da47adecbfb8d5d148fce06ad1aece18b41d0 (diff) | |
| download | chouette-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.rb | 5 | ||||
| -rw-r--r-- | app/workers/workgroup_export_worker.rb | 38 | 
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 | 
