Switch to actioncable-enhanced-postgresql-adapter

This change will store large events (larger than 8KB) for ActionCable in the database. Therefore, it resolves issues where the payload was previously too large.

Fixes #1920
Fixes CODEOCEAN-Y8
Fixes CODEOCEAN-WS
This commit is contained in:
Sebastian Serth
2023-11-04 18:46:32 +01:00
parent f70a73c9a2
commit 87908c7bd1
3 changed files with 16 additions and 4 deletions

View File

@ -2,6 +2,7 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'actioncable-enhanced-postgresql-adapter'
gem 'bcrypt' gem 'bcrypt'
gem 'bootsnap', require: false gem 'bootsnap', require: false
gem 'bootstrap-will_paginate' gem 'bootstrap-will_paginate'

View File

@ -103,6 +103,10 @@ GIT
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actioncable-enhanced-postgresql-adapter (1.0.1)
actioncable (>= 6.0)
connection_pool (>= 2.2.5)
pg (~> 1.5)
activemodel-serializers-xml (1.0.2) activemodel-serializers-xml (1.0.2)
activemodel (> 5.x) activemodel (> 5.x)
activesupport (> 5.x) activesupport (> 5.x)
@ -559,6 +563,7 @@ PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
actioncable-enhanced-postgresql-adapter
bcrypt bcrypt
better_errors better_errors
binding_of_caller binding_of_caller

View File

@ -1,14 +1,20 @@
development: development:
adapter: async adapter: enhanced_postgresql
test: test:
adapter: test adapter: test
staging: staging:
adapter: postgresql adapter: enhanced_postgresql
production: production:
adapter: postgresql # redis adapter: enhanced_postgresql # OR postgresql OR redis
# all other options below are only used for redis
### Config options for `enhanced_postgresql`
# payload_encryptor_secret: # Required. Will be the defined value or `Rails.application.secret_key_base` or `ENV["SECRET_KEY_BASE"]`
# url: <%= ENV.fetch("DATABASE_URL") { "postgresql://localhost:5432/code_ocean_production" } %>
# connection_pool_size: <%= ENV.fetch("RAILS_MAX_THREADS", 5).to_i %> # Only used in conjunction with `url`
### Config options for `redis`
# url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %> # url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
# channel_prefix: code_ocean_production # channel_prefix: code_ocean_production