যখন আপনি AdGroupCriterion.listing_group বা AssetGroupListingGroupFilter এর প্রেক্ষাপটে লিস্টিং গ্রুপ ফিল্টার নিয়ে কাজ করেন, তখন আপনার ইন্টিগ্রেশন ডিজাইন করার সময় নিম্নলিখিত বিষয়গুলো বিবেচনায় রাখুন।
ব্যাচ বিভাজন
যদি কোনো ব্যাচ জবে এমন কোনো অপারেশন থাকে যাতে অ্যাড গ্রুপ ক্রাইটেরিয়া বা অ্যাসেট গ্রুপ লিস্টিং গ্রুপ ফিল্টার অন্তর্ভুক্ত থাকে, তাহলে গুগল অ্যাডস এপিআই সার্ভারে গৃহীত হওয়ার পর ব্যাচ জবের অপারেশনগুলো একাধিক সাব-ব্যাচে বিভক্ত হয়ে যায়। উল্লেখ্য যে, ব্যাচ জবের সাধারণ অপারেশনের মতো নয়, লিস্টিং গ্রুপ ফিল্টার অপারেশনযুক্ত প্রতিটি সাব-ব্যাচকে অ্যাটমিকভাবে বিবেচনা করা হয়।
লিস্টিং গ্রুপ ফিল্টারযুক্ত ব্যাচ জবগুলোকে যেভাবে সাব-ব্যাচে বিভক্ত করা হয়, তা নিম্নলিখিত বিষয়গুলোর দ্বারা নির্ধারিত হয়:
- তালিকার প্রকার গ্রুপ ফিল্টার
- লিস্টিং গ্রুপ ফিল্টারটি যে
AdGroupCriterionবাAssetGroupটার্গেট করছে - কার্যক্রমের ক্রম
অপারেশনগুলো কীভাবে দলবদ্ধ করা হয় তা বিবেচনা করুন:
- একই
AssetGroupলক্ষ্য করে পরিচালিত সমস্ত ধারাবাহিকAssetGroupListingGroupFilterOperationঅপারেশন একটি অ্যাটমিক সাব-ব্যাচে একত্রিত করা হয় (কোনো আংশিক ব্যর্থতার আচরণ নেই)। - একই
AdGroupলক্ষ্য করে এমনlisting_groupধারণকারী সমস্ত ধারাবাহিকAdGroupCriterionOperationঅপারেশনগুলিকে একটি অ্যাটমিক সাব-ব্যাচে একত্রিত করা হয় (কোনো আংশিক ব্যর্থতার আচরণ নেই)। - অন্যান্য সমস্ত ধারাবাহিক অপারেশনগুলিকে নন-অ্যাটমিক সাব-ব্যাচে একত্রিত করা হয় (আংশিক ব্যর্থতার আচরণ)।
নিম্নলিখিত ডায়াগ্রামটি এই ধারণাটি ব্যাখ্যা করে। প্রতিটি ধূসর বাক্স গুগল অ্যাডস এপিআই ব্যবহার করে জমা দেওয়া একটি ব্যাচ জবকে প্রতিনিধিত্ব করে। ধূসর বাক্সগুলির মধ্যে, গুগল অ্যাডস এপিআই সার্ভার দ্বারা তৈরি সাব-ব্যাচগুলিকে বোঝানোর জন্য স্বতন্ত্র অপারেশনগুলিকে রঙ অনুসারে গোষ্ঠীভুক্ত করা হয়েছে। প্রতিটি ধূসর বাক্সে অপারেশনগুলির ক্রম সেই ক্রমের সাথে মিলে যায়, যে ক্রমে অপারেশনগুলি ব্যাচ জবে যুক্ত করা হতো।
সীমাবদ্ধতা
ব্যাচ জবের প্রেক্ষাপটে লিস্টিং গ্রুপ ফিল্টার নিয়ে কাজ করার সময় নিম্নলিখিত সীমাবদ্ধতাগুলো প্রযোজ্য হয়:
- একটি
listing_groupধারণকারী এবং একইAdGroupটার্গেট করে এমনAdGroupCriterionOperationঅপারেশনের একটি একক ব্যাচের দৈর্ঘ্য ২০,০০০ অপারেশনের বেশি হতে পারে না। তবে, ১০,০০০ অপারেশনের বেশি না করার পরামর্শ দেওয়া হয়। - একই
AssetGroupলক্ষ্য করে পরিচালিতAssetGroupListingGroupFilterOperationঅপারেশনের একটি একক ব্যাচ ১০,০০০ অপারেশনের বেশি হতে পারবে না। - এই শর্তগুলোর যেকোনো একটি লঙ্ঘন করলে সম্পূর্ণ ব্যাচ জবটি ব্যর্থ হয়ে যায়।
সমস্যা সমাধান
একটি ব্যাচ জবে লিস্টিং গ্রুপ ফিল্টার অপারেশনগুলো একটি একক ট্রানজ্যাকশন হিসেবে প্রসেস করা হয়, যার ফলে অল্প কিছু ত্রুটিপূর্ণ অপারেশনের কারণে অনেকগুলো অপারেশন ব্যর্থ হওয়ার পরিস্থিতি তৈরি হতে পারে। অধিকন্তু, BatchJob অপারেশনগুলো যেভাবে প্রসেস করা হয়, তার কারণে ব্যর্থতার মূল কারণটি পরবর্তী ব্যর্থতাগুলোর আগে বা পরে কোনো এক পর্যায়ে দেখা দিতে পারে।
উদাহরণস্বরূপ, ListBatchJobResults থেকে একটি প্রতিক্রিয়া প্রক্রিয়া করার সময়, আপনি দেখতে পারেন যে বেশ কয়েকটি অপারেশন Ad group is invalid due to the listing groups it contains স্ট্যাটাস মেসেজ সহ ব্যর্থ হয়েছে। এই মেসেজটি সাধারণত নির্দেশ করে যে অন্য একটি ইনডেক্সে একটি অপারেশন ব্যর্থ হওয়ার কারণে এই ইনডেক্সের অপারেশনটি বাতিল করা হয়েছে। সমস্যাটির মূল কারণ শনাক্ত করতে, আমরা অতিরিক্ত ত্রুটির তথ্যের সন্ধানে BatchJobResult এর সমস্ত স্ট্যাটাস মেসেজ— Ad group is invalid ত্রুটি মেসেজের ইনডেক্সের আগে এবং পরে—পুনরাবৃত্তি করার পরামর্শ দিই।