Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "rubygems"
- require "bundler/setup"
- require "sequel"
- class Listener
- def initialize(db, message)
- @db = db
- @message = message
- end
- def perform(&b)
- @db.pool.hold do |connection|
- statement = connection.create_statement
- statement.execute("LISTEN #{@message}")
- statement.close
- while true do
- statement = connection.create_statement
- results = statement.execute_query("SELECT 1")
- results.close
- statement.close
- notifications = connection.notifications
- if notifications && !notifications.empty?
- notifications.each do |notification|
- b.call
- end
- end
- sleep(1)
- end
- end
- end
- end
- DB = Sequel.connect("jdbc:postgresql://stage.db.internal/myapp?user=sam")
- $l = Listener.new(DB, "content_ingest_file_uploaded")
Add Comment
Please, Sign In to add comment