Adding rack timeout of 30sec, PuSH jobs moved to push queue so they
can be processed separately
This commit is contained in:
parent
c0555f2db6
commit
cc70f28f19
10 changed files with 16 additions and 2 deletions
1
Gemfile
1
Gemfile
|
@ -41,6 +41,7 @@ gem 'simple_form'
|
||||||
gem 'will_paginate'
|
gem 'will_paginate'
|
||||||
gem 'rack-attack'
|
gem 'rack-attack'
|
||||||
gem 'rack-cors', require: 'rack/cors'
|
gem 'rack-cors', require: 'rack/cors'
|
||||||
|
gem 'rack-timeout-puma'
|
||||||
gem 'sidekiq'
|
gem 'sidekiq'
|
||||||
gem 'ledermann-rails-settings'
|
gem 'ledermann-rails-settings'
|
||||||
gem 'pg_search'
|
gem 'pg_search'
|
||||||
|
|
|
@ -257,6 +257,9 @@ GEM
|
||||||
rack
|
rack
|
||||||
rack-test (0.6.3)
|
rack-test (0.6.3)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
|
rack-timeout (0.4.2)
|
||||||
|
rack-timeout-puma (0.0.1)
|
||||||
|
rack-timeout (~> 0.2, >= 0.2.0)
|
||||||
rails-dom-testing (2.0.1)
|
rails-dom-testing (2.0.1)
|
||||||
activesupport (>= 4.2.0, < 6.0)
|
activesupport (>= 4.2.0, < 6.0)
|
||||||
nokogiri (~> 1.6.0)
|
nokogiri (~> 1.6.0)
|
||||||
|
@ -438,6 +441,7 @@ DEPENDENCIES
|
||||||
rabl
|
rabl
|
||||||
rack-attack
|
rack-attack
|
||||||
rack-cors
|
rack-cors
|
||||||
|
rack-timeout-puma
|
||||||
rails!
|
rails!
|
||||||
rails_12factor
|
rails_12factor
|
||||||
rails_autolink
|
rails_autolink
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class ProcessingWorker
|
class ProcessingWorker
|
||||||
include Sidekiq::Worker
|
include Sidekiq::Worker
|
||||||
|
|
||||||
sidekiq_options backtrace: true
|
sidekiq_options backtrace: true
|
||||||
|
|
||||||
def perform(account_id, body)
|
def perform(account_id, body)
|
||||||
|
|
|
@ -4,6 +4,8 @@ class Pubsubhubbub::ConfirmationWorker
|
||||||
include Sidekiq::Worker
|
include Sidekiq::Worker
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
|
||||||
|
sidekiq_options queue: 'push'
|
||||||
|
|
||||||
def perform(subscription_id, mode, secret = nil, lease_seconds = nil)
|
def perform(subscription_id, mode, secret = nil, lease_seconds = nil)
|
||||||
subscription = Subscription.find(subscription_id)
|
subscription = Subscription.find(subscription_id)
|
||||||
challenge = SecureRandom.hex
|
challenge = SecureRandom.hex
|
||||||
|
|
|
@ -4,6 +4,8 @@ class Pubsubhubbub::DeliveryWorker
|
||||||
include Sidekiq::Worker
|
include Sidekiq::Worker
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
|
||||||
|
sidekiq_options queue: 'push'
|
||||||
|
|
||||||
def perform(subscription_id, payload)
|
def perform(subscription_id, payload)
|
||||||
subscription = Subscription.find(subscription_id)
|
subscription = Subscription.find(subscription_id)
|
||||||
headers = {}
|
headers = {}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
class Pubsubhubbub::DistributionWorker
|
class Pubsubhubbub::DistributionWorker
|
||||||
include Sidekiq::Worker
|
include Sidekiq::Worker
|
||||||
|
|
||||||
|
sidekiq_options queue: 'push'
|
||||||
|
|
||||||
def perform(stream_entry_id)
|
def perform(stream_entry_id)
|
||||||
stream_entry = StreamEntry.find(stream_entry_id)
|
stream_entry = StreamEntry.find(stream_entry_id)
|
||||||
account = stream_entry.account
|
account = stream_entry.account
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class SalmonWorker
|
class SalmonWorker
|
||||||
include Sidekiq::Worker
|
include Sidekiq::Worker
|
||||||
|
|
||||||
sidekiq_options backtrace: true
|
sidekiq_options backtrace: true
|
||||||
|
|
||||||
def perform(account_id, body)
|
def perform(account_id, body)
|
||||||
|
|
|
@ -30,7 +30,7 @@ Rails.application.configure do
|
||||||
|
|
||||||
# Specifies the header that your server uses for sending files.
|
# Specifies the header that your server uses for sending files.
|
||||||
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
||||||
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
||||||
|
|
||||||
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
||||||
config.force_ssl = false
|
config.force_ssl = false
|
||||||
|
|
1
config/initializers/timeout.rb
Normal file
1
config/initializers/timeout.rb
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Rack::Timeout.timeout = 30
|
|
@ -23,7 +23,7 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
build: .
|
build: .
|
||||||
env_file: .env.production
|
env_file: .env.production
|
||||||
command: bundle exec sidekiq -q default -q mailers
|
command: bundle exec sidekiq -q default -q mailers -q push
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
|
|
Loading…
Reference in a new issue