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 স্ট্যাটাস সহ
ব্যতিক্রম দেখাতে পারে।