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, #start_transaction, #start_transaction_handle

Methods inherited from RRJ

#cleanup_connection, #handle_endpoint_private, #handle_endpoint_public, #initialize, #session_endpoint_private, #session_endpoint_public, #start_transaction, #start_transaction_handle

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



46
47
48
49
# File 'lib/rrj/task_admin.rb', line 46

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

#start_transaction_admin(options = {}) ⇒ Object

Deprecated.

Use #admin_endpoint instead.

Create a transaction between apps and Janus



15
16
17
18
19
20
# File 'lib/rrj/task_admin.rb', line 15

def start_transaction_admin(options = {})
  transaction = Janus::Transactions::Admin.new(options)
  transaction.connect { yield(transaction) }
rescue
  raise Errors::RRJAdmin::StartTransactionAdmin, options
end