Permit configuring Active Storage's job queue

This commit is contained in:
George Claghorn 2017-11-03 11:29:21 -04:00
parent 288fbc7ff4
commit 9ec6736205
5 changed files with 13 additions and 16 deletions

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
# Provides asynchronous analysis of ActiveStorage::Blob records via ActiveStorage::Blob#analyze_later.
class ActiveStorage::AnalyzeJob < ActiveJob::Base
class ActiveStorage::AnalyzeJob < ActiveStorage::BaseJob
def perform(blob)
blob.analyze
end

View File

@ -0,0 +1,5 @@
# frozen_string_literal: true
class ActiveStorage::BaseJob < ActiveJob::Base
queue_as { ActiveStorage.queue }
end

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
# Provides asynchronous purging of ActiveStorage::Blob records via ActiveStorage::Blob#purge_later.
class ActiveStorage::PurgeJob < ActiveJob::Base
class ActiveStorage::PurgeJob < ActiveStorage::BaseJob
# FIXME: Limit this to a custom ActiveStorage error
retry_on StandardError

View File

@ -38,6 +38,7 @@ module ActiveStorage
mattr_accessor :logger
mattr_accessor :verifier
mattr_accessor :queue
mattr_accessor :previewers, default: []
mattr_accessor :analyzers, default: []
end

View File

@ -19,9 +19,12 @@ module ActiveStorage
config.eager_load_namespaces << ActiveStorage
initializer "active_storage.logger" do
initializer "active_storage.configs" do
config.after_initialize do |app|
ActiveStorage.logger = app.config.active_storage.logger || Rails.logger
ActiveStorage.logger = app.config.active_storage.logger || Rails.logger
ActiveStorage.queue = app.config.active_storage.queue
ActiveStorage.previewers = app.config.active_storage.previewers || []
ActiveStorage.analyzers = app.config.active_storage.analyzers || []
end
end
@ -65,17 +68,5 @@ module ActiveStorage
end
end
end
initializer "active_storage.previewers" do
config.after_initialize do |app|
ActiveStorage.previewers = app.config.active_storage.previewers || []
end
end
initializer "active_storage.analyzers" do
config.after_initialize do |app|
ActiveStorage.analyzers = app.config.active_storage.analyzers || []
end
end
end
end