Class: CompletionKit::ModelDiscoveryJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/completion_kit/model_discovery_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(provider_credential_id) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/jobs/completion_kit/model_discovery_job.rb', line 5

def perform(provider_credential_id)
  credential = ProviderCredential.find_by(id: provider_credential_id)
  return unless credential

  credential.update_columns(discovery_status: "discovering", discovery_current: 0, discovery_total: 0)
  credential.reload
  credential.broadcast_discovery_progress

  service = ModelDiscoveryService.new(config: credential.config_hash)
  service.refresh! do |current, total|
    credential.update_columns(discovery_current: current, discovery_total: total)
    credential.reload
    credential.broadcast_discovery_progress
  end

  credential.update_columns(discovery_status: "completed", updated_at: Time.current)
  credential.reload
  credential.broadcast_discovery_complete
rescue StandardError
  credential.update_columns(discovery_status: "failed")
  credential.reload
  credential.broadcast_discovery_progress
end