Class: Stagehand::Local::ServerManager

Inherits:
Object
  • Object
show all
Defined in:
lib/stagehand/local.rb

Instance Method Summary collapse

Constructor Details

#initialize(model_api_key:, browserbase_api_key:) ⇒ ServerManager

Returns a new instance of ServerManager.



215
216
217
218
219
220
221
222
223
224
225
226
# File 'lib/stagehand/local.rb', line 215

def initialize(model_api_key:, browserbase_api_key:)
  @model_api_key = model_api_key
  @browserbase_api_key = browserbase_api_key
  @host = DEFAULT_HOST
  @port = 0
  @mutex = Mutex.new
  @pid = nil
  @base_url = nil
  @binary_path = nil
  @pgroup = !Stagehand::Local.windows?
  @at_exit_registered = false
end

Instance Method Details

#closeObject



236
237
238
239
240
241
242
243
244
# File 'lib/stagehand/local.rb', line 236

def close
  @mutex.synchronize do
    return if @pid.nil?

    terminate(@pid)
    @pid = nil
    @base_url = nil
  end
end

#ensure_runningObject



228
229
230
231
232
233
234
# File 'lib/stagehand/local.rb', line 228

def ensure_running
  @mutex.synchronize do
    return @base_url if running? && @base_url

    start
  end
end