টাইমআউট

Ruby ক্লায়েন্ট লাইব্রেরির প্রতিটি পরিষেবায় ডিফল্ট টাইম-আউট এবং আবার চেষ্টা করার নীতি থাকে যা সেই পরিষেবার client.rb ফাইলে উল্লেখ করা থাকে। যেমন, আপনি CampaignService ক্লায়েন্ট কনফিগারেশনে গিয়ে self.configure পদ্ধতি পরীক্ষা করতে পারবেন।

ডিফল্ট টাইম-আউট ওভাররাইড করা

আপনি কোনও পরিষেবা ইনস্ট্যানশিয়েট করার পরে, পরিষেবা-লেভেল config.timeout (সেকেন্ডে) সেট করে অথবা config.rpcs-এ আলাদা RPC পদ্ধতির জন্য 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 কোডের উদাহরণ দেখুন।

টাইম-আউট সীমা ও সমস্যা

আপনি ক্লায়েন্ট টাইমআউটের সময়সীমা বাড়াতে পারলেও, সার্ভার-সাইড সীমা এখনও প্রযোজ্য। দু'ঘণ্টার বেশি সময় ধরে প্রসেস করা হচ্ছে এমন অনুরোধ সম্পূর্ণ নাও হতে পারে এবং Google::Ads::GoogleAds::Errors::GoogleAdsError বা GRPC::DeadlineExceeded DEADLINE_EXCEEDED স্ট্যাটাস সহ ব্যতিক্রম দেখাতে পারে।