Simplify sidekiq installation, leverage ActiveJob (#32)

trunk
Matt Brictson 2 years ago committed by GitHub
parent 6a4ddf91b2
commit 46969d4091
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -14,8 +14,6 @@ gem "pgcli-rails"
<%= gemfile_entry "puma" -%>
gem "rack-canonical-host"
gem "rails", "~> <%= Rails.version[/\d+\.\d+\.\d+/] %>"
<%= gemfile_entry "redis", force: true -%>
gem "sidekiq"
<%= gemfile_entry "sprockets-rails" -%>
<%= gemfile_entry "stimulus-rails" -%>
<%= gemfile_entry "turbo-rails" -%>
@ -23,6 +21,7 @@ gem "sidekiq"
group :production do
gem "postmark-rails"
gem "sidekiq"
end
group :development do

@ -2,9 +2,6 @@ copy_file "app/controllers/home_controller.rb"
copy_file "app/controllers/concerns/basic_auth.rb"
copy_file "app/helpers/layout_helper.rb"
remove_dir "app/jobs"
empty_directory_with_keep_file "app/workers"
insert_into_file "app/controllers/application_controller.rb", after: /^class ApplicationController.*\n/ do
<<-RUBY
include BasicAuth

@ -2,6 +2,10 @@ uncomment_lines "config/environments/production.rb", /config\.force_ssl = true/
uncomment_lines "config/environments/production.rb", /config\.active_job/
uncomment_lines "config/environments/production.rb", /raise_delivery_errors =/
gsub_file "config/environments/production.rb", ":resque", ":sidekiq"
gsub_file "config/environments/production.rb", " (and separate queues per environment)", ""
gsub_file "config/environments/production.rb",
/queue_name_prefix = .*$/,
"queue_name_prefix = nil # Not supported by sidekiq"
gsub_file "config/environments/production.rb", /raise_delivery_errors = false/, "raise_delivery_errors = true"
gsub_file "config/environments/production.rb", /\bSTDOUT\b/, "$stdout"
gsub_file "config/environments/production.rb",

@ -1,15 +1,28 @@
return unless defined?(Sidekiq)
# Disable SSL certificate verification if using Heroku Redis
# redis_opts = {
# ssl_params: {
# verify_mode: OpenSSL::SSL::VERIFY_NONE
# }
# }
# Sidekiq.configure_server do |config|
# config.redis = redis_opts
# end
# Sidekiq.configure_client do |config|
# config.redis = redis_opts
# end
require "sidekiq/web"
Sidekiq::Web.app_url = "/"
unless Rails.env.development?
sidekiq_username = ENV["SIDEKIQ_WEB_USERNAME"]
sidekiq_password = ENV["SIDEKIQ_WEB_PASSWORD"]
sidekiq_username = ENV["SIDEKIQ_WEB_USERNAME"]
sidekiq_password = ENV["SIDEKIQ_WEB_PASSWORD"]
Sidekiq::Web.use(Rack::Auth::Basic, "Application") do |username, password|
if sidekiq_username.present? && sidekiq_password.present?
ActiveSupport::SecurityUtils.secure_compare(username, sidekiq_username) &
ActiveSupport::SecurityUtils.secure_compare(password, sidekiq_password)
end
Sidekiq::Web.use(Rack::Auth::Basic, "Sidekiq") do |username, password|
if sidekiq_username.present? && sidekiq_password.present?
ActiveSupport::SecurityUtils.secure_compare(username, sidekiq_username) &
ActiveSupport::SecurityUtils.secure_compare(password, sidekiq_password)
end
end

@ -1,8 +1,5 @@
---
:queues:
- default
- mailers
- active_storage_analysis
- active_storage_purge
:concurrency: <%= ENV.fetch("SIDEKIQ_CONCURRENCY", "1") %>

@ -33,4 +33,4 @@ apply "config/environments/production.rb"
apply "config/environments/test.rb"
route 'root "home#index"'
route %Q(mount Sidekiq::Web => "/sidekiq" # monitoring console\n)
route %Q(mount Sidekiq::Web => "/sidekiq" if defined?(Sidekiq) # monitoring console\n)

@ -57,11 +57,7 @@ def apply_template!
binstubs = %w[brakeman bundler bundler-audit rubocop sidekiq]
run_with_clean_bundler_env "bundle binstubs #{binstubs.join(' ')} --force"
if File.exist?("bin/dev")
append_to_file "Procfile.dev", "worker: bin/sidekiq"
else
remove_file "Procfile.dev"
end
remove_file "Procfile.dev" unless File.exist?("bin/dev")
template "rubocop.yml.tt", ".rubocop.yml"
run_rubocop_autocorrections
@ -224,7 +220,6 @@ def add_yarn_start_script
procs = ["'bin/rails s -b 0.0.0.0'"]
procs << "'bin/vite dev'" if File.exist?("bin/vite")
procs << "bin/webpack-dev-server" if File.exist?("bin/webpack-dev-server")
procs << "bin/sidekiq"
add_package_json_script(start: "concurrently --raw --kill-others-on-fail #{procs.join(" ")}")
end

@ -1,2 +0,0 @@
require "sidekiq/testing"
Sidekiq::Testing.inline!

@ -3,7 +3,6 @@ copy_file "test/support/capybara.rb"
copy_file "test/support/circleci.rb"
copy_file "test/support/mailer.rb"
copy_file "test/support/rails.rb"
copy_file "test/support/sidekiq.rb"
copy_file "test/support/shoulda_matchers.rb"
copy_file "test/system/layout_helper_test.rb"
empty_directory_with_keep_file "test/mailers"

Loading…
Cancel
Save