بهترین روش ها و محدودیت ها

هنگام استفاده از BatchJobService ، این دستورالعمل ها را در نظر بگیرید.

بهبود توان عملیاتی

  • مشاغل بزرگتر کمتر بر بسیاری از مشاغل کوچکتر ترجیح داده می شوند.

  • عملیات آپلود شده را بر اساس نوع عملیات سفارش دهید. به عنوان مثال، اگر شغل شما شامل عملیات افزودن کمپین ها، گروه های تبلیغاتی و معیارهای گروه تبلیغاتی است، عملیات آپلود خود را به گونه ای ترتیب دهید که ابتدا همه عملیات کمپین ، سپس همه عملیات گروه تبلیغات و در نهایت همه گروه های تبلیغاتی قرار گیرند. عملیات معیار .

  • در عملیات‌های مشابه، می‌تواند عملکرد را برای گروه‌بندی آنها بر اساس منبع والد بهبود بخشد. به عنوان مثال، اگر شما یک سری از اشیاء AdGroupCriterionOperation دارید، گروه بندی عملیات بر اساس گروه آگهی به جای اختلاط عملیاتی که بر معیارهای گروه آگهی در گروه های تبلیغاتی مختلف تأثیر می گذارد، می تواند کارآمدتر باشد.

از مسائل همزمانی اجتناب کنید

  • هنگام ارسال چندین کار همزمان برای یک حساب، سعی کنید احتمال انجام کارهای همزمان بر روی یک شیء مشابه را کاهش دهید و در عین حال اندازه کار بزرگ را حفظ کنید. بسیاری از کارهای ناتمام (با وضعیت در RUNNING ) که تلاش می کنند مجموعه ای از اشیاء مشابه را تغییر دهند، می توانند منجر به شرایط بن بست مانند شوند که منجر به کندی شدید و حتی شکست شغلی می شود.

  • چندین عملیات را ارسال نکنید که یک شیء مشابه را در یک کار جهش می دهد، زیرا نتیجه می تواند غیرقابل پیش بینی باشد.

بازیابی نتایج بهینه

  • وضعیت شغلی را خیلی مکرر نظرسنجی نکنید وگرنه در معرض خطر خطاهای محدودیت نرخ هستید.

  • بیش از 1000 نتیجه در هر صفحه بازیابی نکنید. سرور ممکن است به دلیل بارگذاری یا عوامل دیگر کمتر از آن بازگردد.

  • ترتیب نتایج مانند ترتیب آپلود خواهد بود.

راهنمای استفاده اضافی

  • می‌توانید یک کران بالا برای مدت زمانی که یک کار دسته‌ای مجاز است قبل از لغو شدن اجرا شود تعیین کنید. هنگام ایجاد یک کار دسته‌ای جدید، فیلد metadata.execution_limit_seconds را روی محدودیت زمانی دلخواه خود در چند ثانیه تنظیم کنید. اگر metadata.execution_limit_seconds تنظیم نشده باشد، محدودیت زمانی پیش‌فرض وجود ندارد.

  • توصیه می شود در هر AddBatchJobOperationsRequest بیش از 1000 عملیات اضافه نکنید و از sequence_token برای آپلود بقیه عملیات در همان کار استفاده کنید. بسته به محتوای عملیات، تعداد زیادی عملیات در یک AddBatchJobOperationsRequest می‌تواند باعث خطای REQUEST_TOO_LARGE شود. با کاهش تعداد عملیات و امتحان مجدد AddBatchJobOperationsRequest می توانید این خطا را مدیریت کنید.

محدودیت ها

  • هر BatchJob تا یک میلیون عملیات را پشتیبانی می کند.

  • هر حساب می تواند تا 100 شغل فعال یا در حال انتظار را به طور همزمان داشته باشد.

  • مشاغل معلق قدیمی تر از 7 روز به طور خودکار حذف می شوند.