Skip to content

Commit

Permalink
Merge pull request openstreetmap#4537 from tomhughes/multiple-trace-p…
Browse files Browse the repository at this point in the history
…riority

Use a reduced priority for batch trace uploads
  • Loading branch information
gravitystorm committed Feb 25, 2024
2 parents 4c02987 + 9444ad4 commit 4ed85dc
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
4 changes: 2 additions & 2 deletions app/controllers/api/traces_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def create
trace = do_create(params[:file], tags, description, visibility)

if trace.id
TraceImporterJob.perform_later(trace)
trace.schedule_import
render :plain => trace.id.to_s
elsif trace.valid?
head :internal_server_error
Expand Down Expand Up @@ -66,7 +66,7 @@ def destroy
if trace.user == current_user
trace.visible = false
trace.save!
TraceDestroyerJob.perform_later(trace)
trace.schedule_destruction

head :ok
else
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/traces_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ def create
flash[:notice] = t ".trace_uploaded"
flash[:warning] = t ".traces_waiting", :count => current_user.traces.where(:inserted => false).count if current_user.traces.where(:inserted => false).count > 4

TraceImporterJob.perform_later(@trace)
@trace.schedule_import
redirect_to :action => :index, :display_name => current_user.display_name
else
flash[:error] = t(".upload_failed") if @trace.valid?
Expand Down Expand Up @@ -176,7 +176,7 @@ def destroy
trace.visible = false
trace.save
flash[:notice] = t ".scheduled_for_deletion"
TraceDestroyerJob.perform_later(trace)
trace.schedule_destruction
redirect_to :action => :index, :display_name => trace.user.display_name
end
rescue ActiveRecord::RecordNotFound
Expand Down
8 changes: 8 additions & 0 deletions app/models/trace.rb
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,14 @@ def import
end
end

def schedule_import
TraceImporterJob.new(self).enqueue(:priority => user.traces.where(:inserted => false).count)
end

def schedule_destruction
TraceDestroyerJob.perform_later(self)
end

private

def content_type(file)
Expand Down

0 comments on commit 4ed85dc

Please sign in to comment.