Install solid_cable
This commit is contained in:
parent
55a07d49d2
commit
97b0460f38
5 changed files with 32 additions and 3 deletions
1
Gemfile
1
Gemfile
|
@ -20,6 +20,7 @@ gem "jbuilder"
|
||||||
# Use Redis adapter to run Action Cable in production
|
# Use Redis adapter to run Action Cable in production
|
||||||
# gem "redis", ">= 4.0.1"
|
# gem "redis", ">= 4.0.1"
|
||||||
|
|
||||||
|
gem "solid_cable"
|
||||||
gem "solid_cache"
|
gem "solid_cache"
|
||||||
gem "solid_queue"
|
gem "solid_queue"
|
||||||
|
|
||||||
|
|
|
@ -259,6 +259,11 @@ GEM
|
||||||
rexml (~> 3.2, >= 3.2.5)
|
rexml (~> 3.2, >= 3.2.5)
|
||||||
rubyzip (>= 1.2.2, < 3.0)
|
rubyzip (>= 1.2.2, < 3.0)
|
||||||
websocket (~> 1.0)
|
websocket (~> 1.0)
|
||||||
|
solid_cable (3.0.5)
|
||||||
|
actioncable (>= 7.2)
|
||||||
|
activejob (>= 7.2)
|
||||||
|
activerecord (>= 7.2)
|
||||||
|
railties (>= 7.2)
|
||||||
solid_cache (1.0.6)
|
solid_cache (1.0.6)
|
||||||
activejob (>= 7.2)
|
activejob (>= 7.2)
|
||||||
activerecord (>= 7.2)
|
activerecord (>= 7.2)
|
||||||
|
@ -327,6 +332,7 @@ DEPENDENCIES
|
||||||
rails!
|
rails!
|
||||||
rubocop-rails-omakase
|
rubocop-rails-omakase
|
||||||
selenium-webdriver
|
selenium-webdriver
|
||||||
|
solid_cable
|
||||||
solid_cache
|
solid_cache
|
||||||
solid_queue
|
solid_queue
|
||||||
sqlite3 (>= 1.4)
|
sqlite3 (>= 1.4)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
# Async adapter only works within the same process, so for manually triggering cable updates from a console,
|
||||||
|
# and seeing results in the browser, you must do so from the web console (running inside the dev process),
|
||||||
|
# not a terminal started via bin/rails console! Add "console" to any action or any ERB template view
|
||||||
|
# to make the web console appear.
|
||||||
development:
|
development:
|
||||||
adapter: async
|
adapter: async
|
||||||
|
|
||||||
|
@ -5,6 +9,9 @@ test:
|
||||||
adapter: test
|
adapter: test
|
||||||
|
|
||||||
production:
|
production:
|
||||||
adapter: redis
|
adapter: solid_cable
|
||||||
url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
|
connects_to:
|
||||||
channel_prefix: family_budget_production
|
database:
|
||||||
|
writing: cable
|
||||||
|
polling_interval: 0.1.seconds
|
||||||
|
message_retention: 1.day
|
||||||
|
|
|
@ -42,3 +42,7 @@ production:
|
||||||
<<: *default
|
<<: *default
|
||||||
database: storage/production_queue.sqlite3
|
database: storage/production_queue.sqlite3
|
||||||
migrations_paths: db/queue_migrate
|
migrations_paths: db/queue_migrate
|
||||||
|
cable:
|
||||||
|
<<: *default
|
||||||
|
database: storage/production_cable.sqlite3
|
||||||
|
migrations_paths: db/cable_migrate
|
||||||
|
|
11
db/cable_schema.rb
Normal file
11
db/cable_schema.rb
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
ActiveRecord::Schema[7.1].define(version: 1) do
|
||||||
|
create_table "solid_cable_messages", force: :cascade do |t|
|
||||||
|
t.binary "channel", limit: 1024, null: false
|
||||||
|
t.binary "payload", limit: 536870912, null: false
|
||||||
|
t.datetime "created_at", null: false
|
||||||
|
t.integer "channel_hash", limit: 8, null: false
|
||||||
|
t.index ["channel"], name: "index_solid_cable_messages_on_channel"
|
||||||
|
t.index ["channel_hash"], name: "index_solid_cable_messages_on_channel_hash"
|
||||||
|
t.index ["created_at"], name: "index_solid_cable_messages_on_created_at"
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue