Zeitlimits

Für jeden Dienst in der Ruby-Clientbibliothek sind ein Standardzeitlimit und eine Standardrichtlinie für Wiederholungen in der Datei client.rb des jeweiligen Dienstes angegeben. Sie können beispielsweise die self.configure Methode in der CampaignService Clientkonfiguration prüfen.

Standardzeitlimits überschreiben

Sie können diese Standardwerte für eine Dienstinstanz überschreiben, nachdem Sie sie instanziiert haben Dazu legen Sie config.timeout auf Dienstebene (in Sekunden) fest oder konfigurieren timeout und retry_policy für einzelne RPC-Methoden in config.rpcs:

require 'google/ads/google_ads'

client = Google::Ads::GoogleAds::GoogleAdsClient.new
ga_service = client.service.google_ads

ga_service.configure do |config|
  # Set the default timeout (in seconds) for all RPCs on this service instance.
  config.timeout = 120.0

  # Override the timeout or retry policy for specific RPC methods.
  config.rpcs.search_stream.timeout = 300.0
  config.rpcs.search.timeout = 120.0
  config.rpcs.search.retry_policy = {
    'initial_delay' => 5.0,
    'max_delay' => 60.0
  }
end

Ein vollständiges funktionierendes Skript finden Sie im set_custom_client_timeouts.rb Codebeispiel auf GitHub.

Zeitlimits und Fehler

Sie können zwar die Zeitlimitdauer des Clients erhöhen, aber es gelten weiterhin serverseitige Limits. Anfragen, die länger als zwei Stunden dauern, können fehlschlagen und eine Ausnahme vom Typ Google::Ads::GoogleAds::Errors::GoogleAdsError oder GRPC::DeadlineExceeded mit dem Status DEADLINE_EXCEEDED auslösen.