Adding Sidekiq for background processing (firstly just of mailers)
This commit is contained in:
		
							parent
							
								
									a08e724476
								
							
						
					
					
						commit
						42dcb0d4cb
					
				
							
								
								
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							| @ -37,6 +37,8 @@ gem 'simple_form' | ||||
| gem 'will_paginate', '~> 3.0.6' | ||||
| gem 'rack-attack' | ||||
| gem 'turbolinks', '~> 5.0.0.beta' | ||||
| gem 'sidekiq' | ||||
| gem 'sinatra', :require => nil | ||||
| 
 | ||||
| group :development, :test do | ||||
|   gem 'rspec-rails' | ||||
|  | ||||
							
								
								
									
										13
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								Gemfile.lock
									
									
									
									
									
								
							| @ -60,6 +60,7 @@ GEM | ||||
|       execjs | ||||
|     coffee-script-source (1.10.0) | ||||
|     concurrent-ruby (1.0.1) | ||||
|     connection_pool (2.2.0) | ||||
|     crack (0.4.3) | ||||
|       safe_yaml (~> 1.0.0) | ||||
|     debug_inspector (0.0.2) | ||||
| @ -188,6 +189,8 @@ GEM | ||||
|       rack | ||||
|     rack-mini-profiler (0.9.9.2) | ||||
|       rack (>= 1.2.0) | ||||
|     rack-protection (1.5.3) | ||||
|       rack | ||||
|     rack-test (0.6.3) | ||||
|       rack (>= 1.0) | ||||
|     rails (4.2.5.2) | ||||
| @ -271,6 +274,10 @@ GEM | ||||
|       json (~> 1.7, >= 1.7.7) | ||||
|       rdoc (~> 4.0) | ||||
|     sexp_processor (4.7.0) | ||||
|     sidekiq (4.1.1) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|       connection_pool (~> 2.2, >= 2.2.0) | ||||
|       redis (~> 3.2, >= 3.2.1) | ||||
|     simple_form (3.2.1) | ||||
|       actionpack (> 4, < 5.1) | ||||
|       activemodel (> 4, < 5.1) | ||||
| @ -279,6 +286,10 @@ GEM | ||||
|       json (~> 1.8) | ||||
|       simplecov-html (~> 0.10.0) | ||||
|     simplecov-html (0.10.0) | ||||
|     sinatra (1.4.7) | ||||
|       rack (~> 1.5) | ||||
|       rack-protection (~> 1.4) | ||||
|       tilt (>= 1.3, < 3) | ||||
|     slop (3.6.0) | ||||
|     sprockets (3.5.2) | ||||
|       concurrent-ruby (~> 1.0) | ||||
| @ -362,8 +373,10 @@ DEPENDENCIES | ||||
|   rubocop | ||||
|   sass-rails (~> 5.0) | ||||
|   sdoc (~> 0.4.0) | ||||
|   sidekiq | ||||
|   simple_form | ||||
|   simplecov | ||||
|   sinatra | ||||
|   therubyracer | ||||
|   turbolinks (~> 5.0.0.beta) | ||||
|   uglifier (>= 1.3.0) | ||||
|  | ||||
| @ -28,6 +28,8 @@ module Mastodon | ||||
|     config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb') | ||||
|     config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')] | ||||
| 
 | ||||
|     config.active_job.queue_adapter = :sidekiq | ||||
| 
 | ||||
|     config.to_prepare do | ||||
|       Doorkeeper::ApplicationsController.layout           'dashboard' | ||||
|       Doorkeeper::AuthorizedApplicationsController.layout 'dashboard' | ||||
|  | ||||
							
								
								
									
										11
									
								
								config/initializers/sidekiq.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								config/initializers/sidekiq.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| redis_conn = proc { | ||||
|   $redis.dup | ||||
| } | ||||
| 
 | ||||
| Sidekiq.configure_server do |config| | ||||
|   config.redis = ConnectionPool.new(size: 5, &redis_conn) | ||||
| end | ||||
| 
 | ||||
| Sidekiq.configure_client do |config| | ||||
|   config.redis = ConnectionPool.new(size: 25, &redis_conn) | ||||
| end | ||||
| @ -1,4 +1,10 @@ | ||||
| require 'sidekiq/web' | ||||
| 
 | ||||
| Rails.application.routes.draw do | ||||
|   authenticate :user do | ||||
|     mount Sidekiq::Web => '/sidekiq' | ||||
|   end | ||||
| 
 | ||||
|   use_doorkeeper do | ||||
|     controllers applications: 'oauth/applications' | ||||
|   end | ||||
|  | ||||
| @ -4,8 +4,11 @@ services: | ||||
|     image: postgres | ||||
|   redis: | ||||
|     image: redis | ||||
|   web: | ||||
|   app: | ||||
|     build: . | ||||
|     env_file: .env.production | ||||
|   web: | ||||
|     extends: app | ||||
|     command: bundle exec rails s -p 3000 -b '0.0.0.0' | ||||
|     ports: | ||||
|       - "3000:3000" | ||||
| @ -15,4 +18,11 @@ services: | ||||
|     volumes: | ||||
|       - ./public/assets:/mastodon/public/assets | ||||
|       - ./public/system:/mastodon/public/system | ||||
|     env_file: .env.production | ||||
|   sidekiq: | ||||
|     extends: app | ||||
|     command: bundle exec sidekiq -q default -q mailers | ||||
|     depends_on: | ||||
|       - db | ||||
|       - redis | ||||
|     volumes: | ||||
|       - ./public/system:/mastodon/public/system | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user