Browse Source

Adding rack timeout of 30sec, PuSH jobs moved to push queue so they

can be processed separately
pull/4/head
Eugen Rochko 5 years ago
parent
commit
cc70f28f19
10 changed files with 16 additions and 2 deletions
  1. +1
    -0
      Gemfile
  2. +4
    -0
      Gemfile.lock
  3. +1
    -0
      app/workers/processing_worker.rb
  4. +2
    -0
      app/workers/pubsubhubbub/confirmation_worker.rb
  5. +2
    -0
      app/workers/pubsubhubbub/delivery_worker.rb
  6. +2
    -0
      app/workers/pubsubhubbub/distribution_worker.rb
  7. +1
    -0
      app/workers/salmon_worker.rb
  8. +1
    -1
      config/environments/production.rb
  9. +1
    -0
      config/initializers/timeout.rb
  10. +1
    -1
      docker-compose.yml

+ 1
- 0
Gemfile View File

@ -41,6 +41,7 @@ gem 'simple_form'
gem 'will_paginate'
gem 'rack-attack'
gem 'rack-cors', require: 'rack/cors'
gem 'rack-timeout-puma'
gem 'sidekiq'
gem 'ledermann-rails-settings'
gem 'pg_search'

+ 4
- 0
Gemfile.lock View File

@ -257,6 +257,9 @@ GEM
rack
rack-test (0.6.3)
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)
activesupport (>= 4.2.0, < 6.0)
nokogiri (~> 1.6.0)
@ -438,6 +441,7 @@ DEPENDENCIES
rabl
rack-attack
rack-cors
rack-timeout-puma
rails!
rails_12factor
rails_autolink

+ 1
- 0
app/workers/processing_worker.rb View File

@ -2,6 +2,7 @@
class ProcessingWorker
include Sidekiq::Worker
sidekiq_options backtrace: true
def perform(account_id, body)

+ 2
- 0
app/workers/pubsubhubbub/confirmation_worker.rb View File

@ -4,6 +4,8 @@ class Pubsubhubbub::ConfirmationWorker
include Sidekiq::Worker
include RoutingHelper
sidekiq_options queue: 'push'
def perform(subscription_id, mode, secret = nil, lease_seconds = nil)
subscription = Subscription.find(subscription_id)
challenge = SecureRandom.hex

+ 2
- 0
app/workers/pubsubhubbub/delivery_worker.rb View File

@ -4,6 +4,8 @@ class Pubsubhubbub::DeliveryWorker
include Sidekiq::Worker
include RoutingHelper
sidekiq_options queue: 'push'
def perform(subscription_id, payload)
subscription = Subscription.find(subscription_id)
headers = {}

+ 2
- 0
app/workers/pubsubhubbub/distribution_worker.rb View File

@ -3,6 +3,8 @@
class Pubsubhubbub::DistributionWorker
include Sidekiq::Worker
sidekiq_options queue: 'push'
def perform(stream_entry_id)
stream_entry = StreamEntry.find(stream_entry_id)
account = stream_entry.account

+ 1
- 0
app/workers/salmon_worker.rb View File

@ -2,6 +2,7 @@
class SalmonWorker
include Sidekiq::Worker
sidekiq_options backtrace: true
def perform(account_id, body)

+ 1
- 1
config/environments/production.rb View File

@ -30,7 +30,7 @@ Rails.application.configure do
# 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-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.
config.force_ssl = false

+ 1
- 0
config/initializers/timeout.rb View File

@ -0,0 +1 @@
Rack::Timeout.timeout = 30

+ 1
- 1
docker-compose.yml View File

@ -23,7 +23,7 @@ services:
restart: always
build: .
env_file: .env.production
command: bundle exec sidekiq -q default -q mailers
command: bundle exec sidekiq -q default -q mailers -q push
depends_on:
- db
- redis

Loading…
Cancel
Save