diff options
| -rw-r--r-- | app/models/import/workbench.rb | 21 | 
1 files changed, 20 insertions, 1 deletions
| diff --git a/app/models/import/workbench.rb b/app/models/import/workbench.rb index f6e15cb89..124b9b0d8 100644 --- a/app/models/import/workbench.rb +++ b/app/models/import/workbench.rb @@ -2,6 +2,25 @@ class Import::Workbench < Import::Base    after_commit :launch_worker, :on => :create    def launch_worker -    WorkbenchImportWorker.perform_async(id) +    unless Import::Gtfs.accept_file?(file.path) +      WorkbenchImportWorker.perform_async(id) +    else +      import_gtfs +    end +  end + +  def import_gtfs +    update_column :status, 'running' +    update_column :started_at, Time.now + +    Import::Gtfs.create! parent_id: self.id, workbench: workbench, file: File.new(file.path), name: "Import GTFS", creator: "Web service" + +    update_column :status, 'successful' +    update_column :ended_at, Time.now +  rescue Exception => e +    Rails.logger.error "Error while processing GTFS file: #{e}" + +    update_column :status, 'failed' +    update_column :ended_at, Time.now    end  end | 
