Send email asynchroniously using Sidekiq.
Create your mailer us usual:
# encoding: UTF-8 | |
class GxApp | |
include Mongoid::Document | |
include Mongoid::Timestamps | |
include Mongoid::Sequence | |
store_in session: "gxservice" | |
field :name, type: String, default: "Guanxi.me" | |
field :version, type: String |
Shrine.plugin :backgrounding | |
Shrine::Attacher.promote { |data| ShrinePromoteWorker.perform_async(data) } | |
Shrine::Attacher.delete { |data| ShrineDeleteWorker.perform_async(data) } |
require "shrine/storage/s3" | |
base_s3_options = { | |
access_key_id: Rails.application.credentials.dig(:aws, :access_key_id), | |
secret_access_key: Rails.application.credentials.dig(:aws, :secret_access_key), | |
region: 'us-east-1', | |
bucket: ENV['SHRINE_S3_BUCKET'], | |
} | |
cache_s3_options = base_s3_options.merge( |
["Africa/Algiers", "West Central Africa"], | |
["Africa/Cairo", "Cairo"], | |
["Africa/Casablanca", "Casablanca"], | |
["Africa/Harare", "Harare"], | |
["Africa/Johannesburg", "Pretoria"], | |
["Africa/Monrovia", "Monrovia"], | |
["Africa/Nairobi", "Nairobi"], | |
["America/Argentina/Buenos_Aires", "Buenos Aires"], | |
["America/Bogota", "Bogota"], | |
["America/Caracas", "Caracas"], |