Send emails via sidekiq (#380)
* add sidekiq web view if the user is an administrator * add sidekiq setup configuration and support * update devise to use delivery_later method and update test * update conversation to use deliver_later instead of deliver * Update Routes * Add Procfile for Heroku One-Click Start * updating docs * update concurrency and Procfile for supporting Heroku Free Dyno * update Procfile.dev
This commit is contained in:
@@ -33,6 +33,8 @@ Rails.application.configure do
|
||||
config.active_storage.service = :local
|
||||
|
||||
# Don't care if the mailer can't send.
|
||||
config.active_job.queue_adapter = :sidekiq
|
||||
|
||||
config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
@@ -75,6 +75,7 @@ Rails.application.configure do
|
||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||
# the I18n.default_locale when a translation cannot be found).
|
||||
config.i18n.fallbacks = true
|
||||
config.active_job.queue_adapter = :sidekiq
|
||||
|
||||
# Send deprecation notices to registered listeners.
|
||||
config.active_support.deprecation = :notify
|
||||
|
||||
@@ -75,6 +75,7 @@ Rails.application.configure do
|
||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||
# the I18n.default_locale when a translation cannot be found).
|
||||
config.i18n.fallbacks = true
|
||||
config.active_job.queue_adapter = :sidekiq
|
||||
|
||||
# Send deprecation notices to registered listeners.
|
||||
config.active_support.deprecation = :notify
|
||||
|
||||
@@ -43,6 +43,7 @@ Rails.application.configure do
|
||||
# The :test delivery method accumulates sent emails in the
|
||||
# ActionMailer::Base.deliveries array.
|
||||
config.action_mailer.delivery_method = :test
|
||||
config.active_job.queue_adapter = :test
|
||||
|
||||
# Print deprecation notices to the stderr.
|
||||
config.active_support.deprecation = :stderr
|
||||
|
||||
@@ -90,6 +90,12 @@ Rails.application.routes.draw do
|
||||
end
|
||||
end
|
||||
|
||||
# Sidekiq Web UI
|
||||
require 'sidekiq/web'
|
||||
authenticate :user, lambda { |u| u.administrator? } do
|
||||
mount Sidekiq::Web => '/sidekiq'
|
||||
end
|
||||
|
||||
# Used in mailer templates
|
||||
resource :app, only: [:index] do
|
||||
resources :conversations, only: [:show]
|
||||
|
||||
23
config/sidekiq.yml
Normal file
23
config/sidekiq.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
# Sample configuration file for Sidekiq.
|
||||
# Options here can still be overridden by cmd line args.
|
||||
# Place this file at config/sidekiq.yml and Sidekiq will
|
||||
# pick it up automatically.
|
||||
---
|
||||
:verbose: false
|
||||
:concurrency: 10
|
||||
:timeout: 25
|
||||
|
||||
# Sidekiq will run this file through ERB when reading it so you can
|
||||
# even put in dynamic logic, like a host-specific queue.
|
||||
# http://www.mikeperham.com/2013/11/13/advanced-sidekiq-host-specific-queues/
|
||||
:queues:
|
||||
- critical
|
||||
- default
|
||||
- low
|
||||
- mailers
|
||||
|
||||
# you can override concurrency based on environment
|
||||
production:
|
||||
:concurrency: 3
|
||||
staging:
|
||||
:concurrency: 15
|
||||
Reference in New Issue
Block a user