هر سرویس در کتابخانه کارخواه Ruby با یک زمان اتمام پیشفرض و خطمشی
تلاش مجدد که در فایل client.rb آن سرویس مشخص شده است ارائه میشود. برای مثال، میتوانید
روش self.configure را در
پیکربندی کارخواه CampaignService بازرسی کنید.
ملغی کردن زمانهای اتمام پیشفرض
پساز نمونهسازی کردن نمونه سرویس، میتوانید با تنظیم config.timeout سطح سرویس (برحسب ثانیه) یا با پیکربندی timeout و retry_policy برای روشهای RPC جداگانه در 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
برای دیدن یک دستورگان کاری کامل، به
set_custom_client_timeouts.rb نمونه کد در
GitHub مراجعه کنید.
خطاها و محدودیتهای مهلت
اگرچه میتوانید مدت زمان اتمام مهلت مشتری را افزایش دهید، محدودیتهای سمت سرور همچنان اعمال میشود. درخواستهایی که بیشتر از دو ساعت طول میکشند ممکن است ناموفق باشند و استثنایی با وضعیت DEADLINE_EXCEEDED یا Google::Ads::GoogleAds::Errors::GoogleAdsError یا GRPC::DeadlineExceeded
ایجاد کنند.