class ReactiveObservers::DatabaseAdapters::PostgreSQLAdapter
Private Instance Methods
create_listening_job_for(klass)
click to toggle source
# File lib/reactive_observers/database_adapters/postgresql_adapter.rb, line 11 def create_listening_job_for(klass) Thread.new do klass.connection.execute "LISTEN #{ @configuration.listening_job_name % { table_name: klass.table_name }}" loop do klass.connection.raw_connection.wait_for_notify do |event, pid, payload| data = JSON.parse payload, symbolize_names: true process_notification_for data, klass end end end.abort_on_exception = true end
stop_listening_job_for(klass)
click to toggle source
# File lib/reactive_observers/database_adapters/postgresql_adapter.rb, line 23 def stop_listening_job_for(klass) klass.connection.execute "UNLISTEN #{ @configuration.listening_job_name % { table_name: klass.table_name }}" end