Skip to content

Commit

Permalink
Flip setting to delete finished jobs, to preserve them
Browse files Browse the repository at this point in the history
And preserve them by default. Also, add a new option to indicate when
to delete preserved jobs.
  • Loading branch information
rosa committed Dec 6, 2023
1 parent 5f613e1 commit cd65cab
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 9 deletions.
10 changes: 5 additions & 5 deletions app/models/solid_queue/job/executable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ def prepare_for_execution
end

def finished!
if delete_finished_jobs?
destroy!
else
if preserve_finished_jobs?
touch(:finished_at)
else
destroy!
end
end

Expand Down Expand Up @@ -77,8 +77,8 @@ def ready
end


def delete_finished_jobs?
SolidQueue.delete_finished_jobs
def preserve_finished_jobs?
SolidQueue.preserve_finished_jobs
end
end
end
Expand Down
3 changes: 2 additions & 1 deletion lib/solid_queue.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ module SolidQueue
mattr_accessor :supervisor_pidfile
mattr_accessor :supervisor, default: false

mattr_accessor :delete_finished_jobs, default: true
mattr_accessor :preserve_finished_jobs, default: true
mattr_accessor :clear_finished_jobs_after, default: 1.day
mattr_accessor :default_concurrency_control_period, default: 3.minutes

def self.supervisor?
Expand Down
1 change: 0 additions & 1 deletion test/dummy/config/application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,5 @@ class Application < Rails::Application
# config.eager_load_paths << Rails.root.join("extras")

config.active_job.queue_adapter = :solid_queue
config.solid_queue.delete_finished_jobs = false
end
end
4 changes: 2 additions & 2 deletions test/integration/jobs_lifecycle_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ class JobsLifecycleTest < ActiveSupport::TestCase

private
def deleting_finished_jobs
previous, SolidQueue.delete_finished_jobs = SolidQueue.delete_finished_jobs, true
previous, SolidQueue.preserve_finished_jobs = SolidQueue.preserve_finished_jobs, false
yield
ensure
SolidQueue.delete_finished_jobs = previous
SolidQueue.preserve_finished_jobs = previous
end
end

0 comments on commit cd65cab

Please sign in to comment.