टाइम आउट की संख्या

Ruby क्लाइंट लाइब्रेरी में मौजूद हर सेवा के लिए, डिफ़ॉल्ट टाइमआउट और फिर से कोशिश करने की नीति तय की जाती है. यह नीति, उस सेवा की client.rb फ़ाइल में दी गई होती है. उदाहरण के लिए, CampaignService क्लाइंट कॉन्फ़िगरेशन में self.configure तरीके की जांच की जा सकती है.

डिफ़ॉल्ट टाइमआउट को बदलना

किसी सेवा के इंस्टेंस को इंस्टैंटिएट करने के बाद, सेवा के लेवल पर config.timeout (सेकंड में) सेट करके या config.rpcs पर अलग-अलग आरपीसी तरीकों के लिए timeout और retry_policy को कॉन्फ़िगर करके, इन डिफ़ॉल्ट वैल्यू को बदला जा सकता है:

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

पूरी स्क्रिप्ट देखने के लिए, GitHub पर set_custom_client_timeouts.rb कोड का उदाहरण देखें.

टाइम आउट की सीमाएं और गड़बड़ियां

क्लाइंट टाइमआउट की अवधि बढ़ाई जा सकती है. हालांकि, सर्वर-साइड की सीमाएं अब भी लागू होंगी. दो घंटे से ज़्यादा समय लेने वाले अनुरोध पूरे नहीं हो सकते. साथ ही, DEADLINE_EXCEEDED स्टेटस के साथ Google::Ads::GoogleAds::Errors::GoogleAdsError या GRPC::DeadlineExceeded अपवाद की समस्या आ सकती है.