Class: RubyRabbitmqJanus::RRJTaskAdmin

Inherits:
RRJTask
  • Object
show all
Defined in:
lib/rrj/task_admin.rb

Overview

# RubyRabbitmqJanus - RRJTaskAdmin

Used wit sidekiq/console/CI execution for admin queue in Janus gateway

Direct Known Subclasses

RRJRSpec

Instance Attribute Summary

Attributes inherited from RRJ

#session

Instance Method Summary collapse

Methods inherited from RRJTask

#handle_endpoint_private, #handle_endpoint_public, #initialize, #session_endpoint_private, #session_endpoint_public

Methods inherited from RRJ

#cleanup_connection!, #handle_endpoint_private, #handle_endpoint_public, #initialize, #session_endpoint_private, #session_endpoint_public

Constructor Details

This class inherits a constructor from RubyRabbitmqJanus::RRJTask

Instance Method Details

#admin_endpoint(options = {}) ⇒ Object

Create a transaction between Apps and Janus

This transaction is sending to admin/monitor API.

Examples:

List sessions

options = { 'instance' => 42 }
@rrj.handle_endpoint_private(options) do |transaction|
  transaction.publish_message('admin::list_sessions', options)
end

List handles

options = { 'instance' => 42, 'session_id' => 71984735765 }
@rrj.handle_endpoint_private(options) do |transaction|
  transaction.publish_message('admin::list_handles', options)
end

Since:

  • 2.7.0



36
37
38
39
# File 'lib/rrj/task_admin.rb', line 36

def admin_endpoint(options = {})
  transaction = Janus::Transactions::Admin.new(options)
  transaction.connect { yield(transaction) }
end