ज़्यादातर सेवाएं, सिंक्रोनस एपीआई उपलब्ध कराती हैं. इसके लिए, आपको अनुरोध करना होता है और फिर जवाब का इंतज़ार करना होता है. वहीं, BatchJobService की मदद से, कई सेवाओं पर एक साथ कई कार्रवाइयाँ की जा सकती हैं. इसके लिए, कार्रवाइयों के पूरा होने का इंतज़ार नहीं करना पड़ता.
सेवा के हिसाब से म्यूटेट ऑपरेशन के उलट, BatchJobService में मौजूद एक जॉब, कैंपेन, विज्ञापन ग्रुप, विज्ञापन, मानदंड, लेबल, और ऐसेट के मिक्स कलेक्शन के ख़िलाफ़ काम कर सकती है. सबमिट किए गए जॉब एक साथ चलते हैं. साथ ही, BatchJobService कुछ समय के लिए होने वाली गड़बड़ियों की वजह से फ़ेल हुए ऑपरेशनों को अपने-आप फिर से शुरू करता है. जैसे, दर की सीमा से जुड़ी गड़बड़ियां. Google Ads API, एपीआई कार्रवाइयों को गिनने के निर्देशों के मुताबिक, हर कार्रवाई को कार्रवाइयों की रोज़ की सीमा में शामिल करता है.
BatchJobService की मदद से, अनुरोधों में अस्थायी आईडी का इस्तेमाल किया जा सकता है. इससे, एक ही जॉब में एक-दूसरे पर निर्भर कार्रवाइयां सबमिट की जा सकती हैं.
कार्रवाइयां
BatchJobService, MutateOperation में दी गई उन सभी कार्रवाइयों के साथ काम करता है जिनकी बुनियादी सेवा आंशिक तौर पर काम न करने की सुविधा के साथ काम करती है. साथ ही, यह AssetGroupOperation और AssetGroupListingGroupFilterOperation के साथ भी काम करता है. ये कार्रवाइयां, ऐटॉमिक सब-बैच में साफ़ तौर पर छूट दी गई हैं और इन्हें (एक-दूसरे पर निर्भर कार्रवाइयों के साथ) लागू किया जाता है.
Google Ads API, स्टैंडर्ड ऑपरेशन को आंशिक तौर पर गड़बड़ी की सुविधा चालू करके किसी जॉब में लागू करता है. हालांकि, ऐटॉमिक सब-बैच में ऐसा नहीं होता. इसलिए, अगर कोई जॉब रद्द कर दी जाती है या अलग-अलग ऑपरेशन पूरे नहीं होते हैं, तो पूरे हो चुके ऑपरेशन को वापस नहीं किया जाता.
MutateOperation में ये कार्रवाइयां ऐटॉमिक होनी चाहिए. साथ ही, ये कार्रवाइयां आंशिक रूप से पूरी नहीं हो सकतीं. इसलिए, इन्हें बैच जॉब में इस्तेमाल नहीं किया जा सकता. इनमें से किसी भी ऑपरेशन को बैच जॉब में जोड़ने पर, MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE गड़बड़ी (या BookCampaignsOperation और QuoteCampaignsOperation के लिए InternalError.INTERNAL_ERROR) दिखती है. इसके बजाय, partial_failure को false पर सेट करके, GoogleAdsService.Mutate का इस्तेमाल करके इन्हें लागू करें. साथ ही, QuoteCampaignsOperation के लिए validate_only को true पर सेट करें.
BatchJobService में काम न करने वाली कार्रवाइयां
BookCampaignsOperation(MutateOperationमें उपलब्ध है, जो v23 से शुरू होता है)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(v23 सेMutateOperationमें उपलब्ध है; इसके लिए,validate_onlyकोtrueपर सेट करना ज़रूरी है)