تعلیق

هر سرویس در کتابخانه کارخواه 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 ایجاد کنند.