Shopify Flow میں خرابیوں کی ٹربل شوٹنگ

Shopify Flow آپ کو اپنے سٹور میں ٹاسک اور عمل کو خودکار بنانے میں مدد کرتا ہے، لیکن ورک فلو بناتے یا ان میں ترمیم کرتے وقت آپ کو خرابیوں کا سامنا ہو سکتا ہے یا آپ مخصوص حدود تک پہنچ سکتے ہیں۔ یہ صفحہ عام مسائل کی وضاحت کرتا ہے جن کا آپ کو سامنا ہو سکتا ہے، جیسے کہ ورک فلو کی حدود اور ڈیٹا کی خرابیاں، اور انہیں حل کرنے کے بارے میں رہنمائی فراہم کرتا ہے۔ ان خرابیوں کو سمجھنے سے آپ کو مسائل کی ٹربل شوٹنگ کرنے اور اپنے ورک فلو کو آسانی سے چلانے میں مدد مل سکتی ہے۔

ورک فلو بناتے وقت خرابیاں

کوئی ورک فلو بناتے وقت، آپ کو ایسی خرابیوں کا سامنا ہو سکتا ہے جو آپ کو نیا ورک فلو شامل کرنے سے روکتی ہیں۔ یہ وہ چند خرابیاں ہیں جن کا آپ کو سامنا ہو سکتا ہے:

ورک فلو کی تعداد حد سے تجاوز کر گئی

نیا ورک فلو بناتے وقت، آپ کو ایسی خرابی کا سامنا ہو سکتا ہے جس میں درج ہو آپ 1000 ورک فلو کی زیادہ سے زیادہ اجازت یافتہ حد تک پہنچ گئے ہیں۔ جاری رکھنے کے لیے، براہ کرم کوئی بھی غیر استعمال شدہ ورک فلو حذف کریں اور دوبارہ کوشش کریں۔

Flow کسی سٹور میں موجود ورک فلو کی تعداد کو محدود کرتا ہے، جس کی حد 1000 ہے۔ اس میں فعال اور غیر فعال دونوں ورک فلو شامل ہیں۔ اگر آپ اس حد تک پہنچ جاتے ہیں اور نیا ورک فلو بنانا چاہتے ہیں، تو غیر استعمال شدہ یا غیر فعال ورک فلو حذف کریں۔

اگر اس حد کے سیٹ ہونے سے پہلے آپ کے سٹور میں 1000 سے زیادہ ورک فلو موجود تھے، تو آپ کا سٹور 1000 سے زیادہ ورک فلو کے ساتھ کام کرنا جاری رکھ سکتا ہے۔ تاہم، نیا ورک فلو بنانے کے لیے، آپ کا حد کے اندر ہونا لازمی ہے۔

Flow ایپ میں متعدد کارروائیاں انجام دیتے وقت آپ کو اس خرابی کا سامنا ہو سکتا ہے:

  • نیا ورک فلو بنانا
  • ورک فلو کو ڈپلیکیٹ کرنا
  • ورک فلو امپورٹ کرنا
  • ٹیمپلیٹ انسٹال کرنا
ایک ہی ٹرگر پر بہت زیادہ ورک فلو

کوئی ورک فلو فعال کرتے وقت، آپ کو ایک انتباہ نظر آ سکتا ہے کہ آپ کا سٹور ایک ہی ٹرگر استعمال کرنے والے 10 سے زیادہ فعال ورک فلو رکھتا ہے۔

ایک ہی ٹرگر کا اشتراک کرنے والے بہت سے ورک فلو ہونے سے پرفارمنس کے مسائل پیدا ہو سکتے ہیں، کیونکہ جب بھی ٹرگر ایونٹ ہوتا ہے، تو Flow کو تمام متعلقہ ورک فلو پر کارروائی کرنی پڑتی ہے۔ یہ فین آؤٹ ایگزیکیوشن کے سست اوقات اور وسائل کے استعمال میں اضافے کا سبب بن سکتا ہے۔

کسی ایک ٹرگر پر ورک فلو کی تعداد کم کرنے کے لیے، درج ذیل طریقوں پر غور کریں:

  • ایک ہی ٹرگر استعمال کرنے والے ورک فلو کو متعدد برانچ اور کنڈیشن کے ساتھ ایک ہی ورک فلو میں یکجا کریں۔
  • ان ورک فلوز کو غیر فعال کریں یا حذف کریں جن کی اب ضرورت نہیں ہے۔
  • جائزہ لیں کہ آیا کچھ ورک فلوز اس کے بجائے کوئی زیادہ مخصوص ٹرگر استعمال کر سکتے ہیں۔

ورک فلوز میں ترمیم کرتے وقت ایررز

ورک فلو میں ترمیم کرتے وقت، آپ کو ایسی ایررز کا سامنا کرنا پڑ سکتا ہے جو آپ کو ورک فلو محفوظ کرنے سے روک سکتی ہیں۔ ورک فلو میں ترمیم کرتے وقت آپ کو درپیش آنے والی عام ایررز درج ذیل ہیں:

ڈیٹا نہیں ملا

ورک فلو میں کوئی نیا ایکشن شامل کرتے وقت، آپ کو ایک ایرر کا سامنا ہو سکتا ہے جو کہتی ہے Data not found:

Data not found error

یہ ایرر اس لیے پیش آتی ہے کیونکہ Add product tags سمیت بہت سے ایکشنز کو کسی Shopify ریسورس کی ضرورت ہوتی ہے، جیسے کہ کوئی پروڈکٹ۔ اگر وہ ریسورس دستیاب نہیں ہے، تو ایکشن رن نہیں ہو سکتا۔ عام طور پر، ورک فلوز میں ایسا ڈیٹا ہو سکتا ہے جو مطلوبہ ڈیٹا کے جیسا ہو لیکن درحقیقت وہ فراہم نہیں کرتا جس کی ضرورت ہے۔

درج ذیل سیکشنز ان عام صورتحال کو بیان کرتے ہیں جو اس ایرر کا سبب بن سکتی ہیں اور انہیں حل کرنے کا طریقہ بتاتے ہیں۔

مسئلہ 1: جب ایک واحد آئٹم کی ضرورت تھی تو Get data کی طرف سے ایک فہرست فراہم کی گئی تھی

اکثر ایک ورک فلو Shopify ریسورسز کی فہرست فراہم کرتا ہے، لیکن ایکشن صرف ایک ریسورس کی اجازت دیتا ہے۔ مثال کے طور پر، ورک فلو Get product data کے ذریعے پروڈکٹس کی ایک فہرست فراہم کرتا ہے لیکن Add product tags ایکشن کے لیے ایک واحد پروڈکٹ درکار ہے۔

اس ایرر کو حل کرنے کے لیے، آپ فہرست پر لوپ کرنے اور فہرست کے ہر آئٹم کے لیے ایکشن کو کال کرنے کے لیے For each ایکشن شامل کر سکتے ہیں۔ یہ مثال For each کا استعمال کرتے ہوئے ایرر اور حل دونوں کو واضح کرتی ہے:

Data not found error

مسئلہ 2: جب ایک واحد آئٹم کی ضرورت تھی تو ٹرگر کی طرف سے ایک فہرست فراہم کی گئی تھی

اسی طرح کی ایک ایرر اس وقت پیش آ سکتی ہے جب کسی ایکشن کو ایک واحد ریسورس درکار ہو لیکن ٹرگر ایک فہرست فراہم کرے۔ مثال کے طور پر، Mark a fulfillment order as fulfilled کے لیے ایک فلفلمنٹ آرڈر درکار ہے، لیکن ٹرگر ایک آرڈر سے آتا ہے، جو فلفلمنٹ آرڈرز کی ایک فہرست فراہم کرتا ہے۔

اس ایرر کو حل کرنے کے لیے، مسئلہ 1 کی طرح، آپ فہرست پر لوپ کرنے اور فہرست کے ہر آئٹم کے لیے ایکشن کو کال کرنے کے لیے For each ایکشن شامل کر سکتے ہیں:

Solution for fulfillment orders

متبادل طور پر، آپ ایک مختلف ٹرگر استعمال کر سکتے ہیں جو مطلوبہ ریسورس فراہم کرتا ہو۔ مثال کے طور پر، Order created ٹرگر استعمال کرنے کے بجائے، آپ Fulfillment order ready to fulfill ٹرگر استعمال کر سکتے ہیں، جو ایک واحد فلفلمنٹ آرڈر فراہم کرتا ہے۔

Fulfillment order ready to fulfill trigger example

مسئلہ 3: Scheduled time ٹرگر کی طرف سے کوئی ڈیٹا فراہم نہیں کیا گیا تھا

Scheduled time ٹرگر Shopify کے ریسورس کا ڈیٹا فراہم نہیں کرتا ہے۔ اگر آپ ٹرگر کے بعد ان ایکشنز کو منسلک کرنے کی کوشش کرتے ہیں جن کے لیے Shopify ریسورسز درکار ہیں، تو آپ کو ایرر کا سامنا ہوگا۔

اس ایرر کو حل کرنے کے لیے، ایک ایکشن شامل کریں، جیسا کہ Get product data، جو مطلوبہ ڈیٹا فراہم کرتا ہے۔ جیسا کہ مسئلہ 1 میں بتایا گیا ہے، آپ کو ڈیٹا حاصل کرنے والے ایکشن کے ذریعے واپس کی گئی کسی بھی فہرست پر لوپ کرنے کے لیے ایک For each ایکشن بھی شامل کرنا چاہیے۔

Missing required product example

مسئلہ 4: کسی ایپ ٹرگر کی طرف سے کوئی ڈیٹا فراہم نہیں کیا گیا تھا

مسئلہ 3 کی طرح، ایپس کے ذریعے بنائے گئے کچھ ٹرگرز مطلوبہ Shopify ریسورس کا ڈیٹا فراہم نہیں کرتے ہیں۔ مثال کے طور پر، "Review created" کا ٹرگر کوئی ای میل ایڈریس تو فراہم کر سکتا ہے لیکن کوئی کسٹمر آبجیکٹ نہیں، جس کی ضرورت بہت سے ایکشنز کو ہوتی ہے، جیسے کہ Add customer tags۔

اس ایرر کو حل کرنے کے لیے، ہو سکتا ہے آپ کو درکار Shopify ریسورس حاصل کرنے کے لیے ایک "Get data" ایکشن کا استعمال کر سکیں۔ مثال کے طور پر، آپ ٹرگر کے ذریعے فراہم کردہ ای میل ایڈریس سے کسٹمر آبجیکٹ حاصل کرنے کے لیے Get customer data استعمال کر سکتے ہیں۔ دیگر مسائل کی طرح، آپ کو ڈیٹا حاصل کرنے والے ایکشن کے ذریعے واپس کی گئی کسی بھی فہرست پر لوپ کرنے کے لیے ایک For each ایکشن بھی شامل کرنا چاہیے۔

اگر "Get data" کا آپشن موجود نہیں ہے، تو آپ کو ایپ ڈیویلپر سے رابطہ کرنے کی ضرورت پڑ سکتی ہے تاکہ پوچھ سکیں کہ آیا وہ مطلوبہ ڈیٹا فراہم کرنے کے لیے اپنے ٹرگر میں ترمیم کر سکتے ہیں۔

ویٹ سٹیپس کی تعداد حد سے تجاوز کر گئی

اپنے ورک فلو میں نئے ویٹ سٹیپس شامل کرتے وقت، آپ کو ایک ایرر کا سامنا ہو سکتا ہے جو کہتی ہے، Workflows must have 40 or fewer wait steps۔

Flow ایک ورک فلو میں اجازت یافتہ ویٹ سٹیپس کی تعداد کو 40 تک محدود کرتا ہے۔ اگر آپ کو اس ایرر کا سامنا ہوتا ہے، تو آپ اس حد سے تجاوز کر چکے ہیں۔ مسئلے کو حل کرنے کے لیے، اپنے ورک فلو میں کہیں اور موجود ویٹ سٹیپس کو ہٹا دیں۔

اگر اس حد کے متعارف ہونے سے پہلے آپ کے پاس 40 سے زیادہ ویٹ سٹیپس پر مشتمل ورک فلوز موجود تھے، تو آپ کا ورک فلو توقع کے مطابق کام کرتا رہے گا۔ تاہم، مزید ویٹ سٹیپس شامل کرنے کے لیے، آپ کو حد کے اندر رہنے کے لیے پہلے موجودہ سٹیپس کو ہٹانا ہوگا۔

مزید برآں، تمام ویٹ سٹیپس میں انتظار کیا گیا کل وقت 90 دن سے زیادہ نہیں ہو سکتا۔

کنفگ فیلڈ ویلیو کے سائز کی حد تجاوز کر گئی

اپنے ورک فلو کی شرائط میں کنفگ فیلڈز کی ویلیو میں ترمیم کرتے وقت، آپ کو ایک ایرر کا سامنا ہو سکتا ہے جو کہتی ہے، The config field value must be under 50kB۔

Flow کسی کنفگ فیلڈ ویلیو کے سائز کو 50kB ڈیٹا تک محدود کرتا ہے۔ جب آپ کو اس ایرر کا سامنا ہوتا ہے، تو آپ اس حد تک پہنچ چکے ہیں یا اس سے تجاوز کر چکے ہیں۔ مسئلے کو حل کرنے کے لیے، اس فیلڈ میں آپ جو ڈیٹا شامل کر رہے ہیں اس کی طوالت کم کریں۔

اگر آپ کے پاس پہلے سے ہی 50kB یا اس سے زیادہ ویلیو والی کنفگ فیلڈز موجود ہیں، تو آپ کے ورک فلوز توقع کے مطابق رن ہوتے رہیں گے۔ تاہم، اپنے ورک فلو میں تبدیلیاں کرنے کے لیے، آپ کو ایرر کا سبب بننے والی ویلیو پر نظر ثانی کرنی ہوگی۔

ورک فلو رن ہونے پر ایررز

جب کسی ورک فلو رن میں کوئی ایرر پیش آتی ہے، تو ورک فلو رن کو ناکام (فیل) کے طور پر نشان زد کیا جاتا ہے۔ ایرر کا میسج ورک فلو رن کی تفصیلات میں دکھایا جاتا ہے۔ کسی ورک فلو رن کے فیل ہونے پر آپ کو درپیش آنے والی عام ایررز درج ذیل ہیں:

  • عارضی ایررز وقتی ایررز ہوتی ہیں جو اس وقت پیش آتی ہیں جب Flow کوئی ٹاسک مکمل کرنے سے قاصر ہوتا ہے۔ ان ایررز کو تب تک دوبارہ ٹرائی کیا جاتا ہے جب تک کہ وہ کامیاب نہ ہو جائیں یا ٹائم آؤٹ کی حد تک نہ پہنچ جائیں۔
  • مستقل ایررز ایسی ایررز ہیں جو اس وقت پیش آتی ہیں جب Flow کوئی ٹاسک مکمل کرنے سے قاصر ہوتا ہے، اور ٹاسک کو دوبارہ ٹرائی نہیں کیا جا سکتا۔

عارضی ایررز

عارضی ایررز وقتی ایررز ہوتی ہیں جو اس وقت پیش آتی ہیں جب Flow کوئی ٹاسک مکمل کرنے سے قاصر ہوتا ہے۔ ان ایررز کو تب تک دوبارہ ٹرائی کیا جاتا ہے جب تک کہ وہ کامیاب نہ ہو جائیں یا ٹائم آؤٹ کی حد تک نہ پہنچ جائیں۔ مثال کے طور پر، اگر Flow کسی کنیکٹر ایکشن پر عمل درآمد کرتے وقت پارٹنر سے رابطہ کرنے سے قاصر رہتا ہے، تو Flow ترک کرنے سے پہلے ٹاسک کو متعدد بار دوبارہ ٹرائی کرتا ہے۔

دوبارہ ٹرائی کرنے کے عمل میں وقفہ ہوتا ہے، اور ہر اگلی کوشش کے درمیان تاخیر پچھلی تاخیر سے بڑھتی جاتی ہے۔ عام طور پر، جب کسی ورک فلو کو عارضی ایررز کا سامنا ہوتا ہے، تو یہ ٹاسکس کو دوبارہ ٹرائی کرتے ہوئے کافی دیر تک رن ہونے کی حالت میں رہتا ہے۔

جب کسی ٹاسک کو کامیابی کے ساتھ دوبارہ ٹرائی کر لیا جاتا ہے، تو ورک فلو جاری رہتا ہے۔ اگر دوبارہ ٹرائی کیے گئے ٹاسک کو کسی مستقل ایرر کا سامنا ہوتا ہے، تو ورک فلو فیل ہو جاتا ہے۔ ہر ورک فلو سیکشن کی بالائی ایگزیکیوشن کی مشترکہ حد 36 گھنٹے ہوتی ہے۔ اگر عارضی ایررز والا کوئی سٹیپ اس حد تک پہنچنے سے پہلے کامیاب نہیں ہوتا ہے، تو ورک فلو فیل ہو جاتا ہے۔

انتظار کے مراحل والے ورک فلو سیکشن میں تقسیم ہوتے ہیں، جو اس بات پر اثر انداز ہوتا ہے کہ ورک فلو میں ٹائم آؤٹ کی حدوں کا حساب کیسے لگایا جاتا ہے۔ ہر سیکشن ٹاسک کا ایک گروپ ہوتا ہے جنہیں ایک ساتھ انجام دیا جاتا ہے، اور ہر ایک کی اپنی 36 گھنٹے کی وقت کی حد ہوتی ہے۔ مثال کے طور پر، اگر کسی ورک فلو میں انتظار کا مرحلہ ایک گھنٹے کا ہے، تو اس مرحلے سے پہلے کے ٹاسک ایک سیکشن میں ایک ساتھ انجام دیے جائیں گے اور انتظار کے مرحلے کے بعد کے ٹاسک دوسرے سیکشن میں ایک ساتھ انجام دیے جائیں گے۔ اگر ورک فلو میں متعدد انتظار کے مراحل ہیں، تو ہر انتظار کے مرحلے کے درمیان کے ٹاسک ایک سیکشن میں ایک ساتھ انجام دیے جائیں گے۔ انتظار کے مرحلے کے بغیر ورک فلو کو ایک سیکشن سمجھا جاتا ہے۔

کبھی کبھار کے عارضی ایرر عام ہیں۔ تاہم، اگر آپ کے پاس ایک ایسا ورک فلو ہے جو متعدد رن میں مسلسل اسی عارضی ایرر کا سامنا کر رہا ہے، تو آپ کے ورک فلو کو دوبارہ کنفیگر کرنے کی ضرورت پڑ سکتی ہے۔

مرحلہ ٹائم آؤٹ ہو گیا

Step timed out کے ایرر عام طور پر اس وقت ہوتے ہیں جب ورک فلو میں کوئی ٹاسک ایک سیکشن کے اندر بہت زیادہ ڈیٹا کیوری کرنے کی کوشش کرتا ہے۔ یہ ایرر اکثر ان ورک فلو میں پیش آتا ہے جو فہرستوں میں لوپ کرتے ہیں، خاص طور پر نیسٹڈ فہرستیں جو اتنی بڑی ہوتی ہیں کہ ان پر تیزی سے کارروائی نہیں کی جا سکتی۔

جب یہ ایرر آتا ہے، تو ٹریگر یا انتظار کا مرحلہ retrying کے طور پر ظاہر ہوتا ہے۔

اس مسئلے کو حل کرنے کے لیے، ان شرائط کا جائزہ لیں جو فہرستوں اور نیسٹڈ فہرستوں تک رسائی حاصل کرتی ہیں تاکہ اس بات کی تصدیق ہو سکے کہ وہ درست طریقے سے سیٹ اپ کی گئی ہیں۔ ایک عام مسئلہ وہ شرط ہے جو صرف ایک آرڈر میں موجود پروڈکٹ کے بجائے، شاپ پر موجود تمام پروڈکٹ کو چیک کرتی ہے۔

5XX اسٹیٹس

زیادہ تر Flow ایکشن میں HTTP کال کرنا شامل ہوتا ہے۔ کبھی کبھار، نیٹ ورکنگ یا سرور کے دیگر مسائل HTTP کال کے ناکام ہونے اور 500 اور 599 کے درمیان ایرر کوڈ واپس کرنے کا سبب بن سکتے ہیں۔ اس ایرر کا ایک بار ظاہر ہونا کوئی مسئلہ نہیں ہے، لیکن اس کا بار بار پیش آنا اس بات کی نشاندہی کر سکتا ہے کہ مسئلہ مرحلے کی کنفیگریشن کے بجائے، ٹاسک ہینڈل کرنے والے سرور کے ساتھ ہے۔

اس قسم کا ایرر عام طور پر Send HTTP Request ایکشن پر ظاہر ہوتا ہے، لیکن یہ زیادہ تر ٹاسک پر پیش آ سکتا ہے۔

GraphQL تھروٹل ہو گیا

ورک فلو کے ذریعے مکمل کیے گئے کام کا کل حجم API ریٹ کی حدوں کے ذریعے محدود ہوتا ہے، جو کچھ حد تک آپ کے پلان سے متعین ہوتی ہیں۔ عام طور پر، ان حدوں تک اس وقت تک نہیں پہنچا جاتا جب تک کہ ورک فلو بہت پیچیدہ نہ ہو یا اس میں کوئی غیر ارادی ڈیزائن ایرر نہ ہو۔

مندرجہ ذیل مثالیں ایسی صورتحال بیان کرتی ہیں جو اس ایرر کا باعث بن سکتی ہیں:

  • ورک فلو میں Liquid یا شرائط بڑی مقدار میں ڈیٹا والی فہرست پر لوپ کرتی ہیں، جیسے HTML پر مشتمل میٹافیلڈ کی ویلیوز کو چیک کرنا۔
  • ورک فلو میں Liquid یا شرائط ایک بڑی فہرست پر لوپ کرتی ہیں، جیسے کسی بڑی شاپ میں shop.orders پر لوپ کرنا۔
  • کوئی ورک فلو ایک ایسے لامتناہی لوپ پر منتج ہوتا ہے جس میں ورک فلو نئے ورک فلو رن بناتا رہتا ہے۔ مثال کے طور پر، یہ اس وقت ہو سکتا ہے اگر ورک فلو Customer tags added ٹریگر کا استعمال کرتا ہے اور اس میں Add customer tags ایکشن شامل ہوتا ہے۔

اگر حد پوری ہو جاتی ہے، تو آپ کو GraphQL throttled کا ایرر موصول ہوتا ہے۔ یہ ایرر دیگر ورک فلو کو اس وقت متاثر کر سکتا ہے جب وہ رن ہونے کی کوشش کرتے ہیں، لہذا اگر یہ ایرر پیش آئے تو اسے فوری طور پر حل کریں۔

مستقل ایرر

مستقل ایرر وہ ایرر ہوتے ہیں جو اس وقت پیش آتے ہیں جب Flow کسی ٹاسک کو مکمل کرنے سے قاصر ہو، اور ٹاسک کو دوبارہ آزمانا ممکن نہ ہو۔ مثال کے طور پر، اگر Flow ای میل ایڈریس غلط ہونے کی وجہ سے ای میل بھیجنے میں ناکام رہتا ہے، تو یہ ٹاسک کو دوبارہ نہیں آزماتا۔ اس کے بجائے، ورک فلو ناکام ہو جاتا ہے۔

Fields: id درکار ہیں لیکن خالی ہیں

Shopify ایکشن کو رن ہونے کے لیے ایک یا زیادہ ریسورس، جیسے پروڈکٹ، کسٹمر، یا آرڈر کی ضرورت ہوتی ہے۔ اگر درکار ریسورس دستیاب نہیں ہے، تو ایکشن حسب منشا رن نہیں ہو سکتا۔ مثال کے طور پر، کسٹمر کے بغیر Shopify ایڈمن میں ایک آرڈر تخلیق کیا جا سکتا ہے۔ اگر آپ Add customer tags جیسا کوئی ایکشن رن کرتے ہیں، تو ایکشن اس ایرر کے ساتھ ناکام ہو جاتا ہے۔

اس ایرر سے بچنے کے لیے، ایکشن سے پہلے ایک شرط شامل کریں تاکہ چیک کیا جا سکے کہ آیا ریسورس موجود ہے۔ پچھلی مثال میں، اگر آپ Add customer tags والے ہی ورک فلو میں ایک اندرونی ای میل بھیجنا چاہتے ہیں، تو آپ یا تو ای میل کے ایکشن کو اس مرحلے سے پہلے رکھ سکتے ہیں جو ناکام ہو سکتا ہے یا مندرجہ ذیل طریقوں میں سے کوئی ایک استعمال کر سکتے ہیں:

ایکشن کو متوازی برانچ میں رکھیں (جہاں 2 یا اس سے زیادہ برانچ ایک مرحلے سے نکلتی ہیں):

ٹریگر کے بعد متوازی طور پر دو ایکشن دکھانے والی مثال۔

یہ چیک کرنے کے لیے کہ آیا کسٹمر موجود ہے، ایکشن سے پہلے ایک شرط شامل کریں۔ مثال کے طور پر، آپ چیک کر سکتے ہیں کہ آیا order / customer / id is not empty and exists ہے۔

ID تلاش کرنے والی شرط کو دکھانے والی مثال۔

Flow کو آپ کے Google Sheets اکاؤنٹ کی اجازت نہیں ہے۔ براہ کرم اپنا اکاؤنٹ دوبارہ کنیکٹ کریں۔

Google Sheets کنیکٹر کا تقاضا ہے کہ آپ شیٹ پر لکھنے کی اجازت حاصل کرنے کے لیے اپنے Google اکاؤنٹ کو Flow سے لنک کریں۔ یہ ایرر اس وقت آ سکتا ہے جب Flow کو شیٹ پر لکھنے کی اجازت نہ ہو، یا تو اس وجہ سے کہ اکاؤنٹ کو Flow سے ان لنک کر دیا گیا تھا یا اس وجہ سے کہ وہ اکاؤنٹ اس شیٹ تک رسائی حاصل کرنے کے قابل نہیں ہے۔

اسے حل کرنے کے لیے، یقینی بنائیں کہ کنیکٹر کے لیے استعمال ہونے والا اکاؤنٹ شیٹ کھول سکتا ہے اور اس کے پاس ترمیم کرنے کی رسائی موجود ہے۔ اگر غلط اکاؤنٹ لنک ہو گیا ہے، تو آپ اسے ڈس کنیکٹ کر کے نیا اکاؤنٹ کنیکٹ کر سکتے ہیں۔

اقدامات:

  1. کوئی موجودہ ورک فلو کھولیں یا نیا ورک فلو بنائیں۔
  2. ورک فلو میں کوئی ایکشن شامل کریں۔
  3. Google Sheets کنیکٹر منتخب کریں۔
  4. Disconnect پر کلک کریں، اور پھر درست Google اکاؤنٹ کو دوبارہ کنیکٹ کرنے کے لیے Connect پر کلک کریں۔
Flow ایکشن غلط پراپرٹی کے ساتھ موصول ہوا۔ کسٹمر مارکیٹنگ قبول نہیں کرتا۔

Send marketing email کا ایکشن ان کسٹمر کو ای میل نہیں بھیجتا جنہوں نے انہیں وصول کرنے کی رضامندی ظاہر نہیں کی ہے، اور اگر ورک فلو ایسا کرنے کی کوشش کرتا ہے تو یہ مستقل طور پر ناکام ہو جاتا ہے۔

اسے حل کرنے کے لیے، ورک فلو میں ایک شرط شامل کریں جو کسٹمر کے سبسکرپشن اسٹیٹس کو چیک کرتی ہو۔ آپ ای میل بھیجنے سے پہلے اس بات کو یقینی بنا سکتے ہیں کہ کسٹمر نے مارکیٹنگ ای میل وصول کرنے کی رضامندی ظاہر کی ہے۔ ای میل سبسکرائبر لسٹ مینجمنٹ میں دیے گئے اقدامات پر عمل کریں۔

[resource type] کا ریسورس موجود نہیں ہے

یہ ایرر ظاہر کرتا ہے کہ ورک فلو کی جانب سے ڈیٹا لانے سے پہلے کوئی ریسورس، جیسے customer یا order، حذف کر دیا گیا تھا۔ اکثر یہ انتظار کے مرحلے کے بعد ہوتا ہے، لیکن ٹریگر پر بھی ایسا ہونا ممکن ہے اگر ٹریگر ایونٹ ہونے کے فوراً بعد ریسورس حذف کر دیا جائے۔

ایرر آنے پر مطلع ہوں

اگر ایرر آنے سے آپ کے اسٹور کے کام متاثر ہوتے ہیں، تو آپ ایرر آنے پر نوٹیفکیشن موصول کرنے کے لیے سیٹ اپ کر سکتے ہیں۔ ایرر نوٹیفکیشن کو Workflow error occurred ٹریگر کا استعمال کرتے ہوئے ایک ورک فلو کے طور پر بنایا جا سکتا ہے۔ ایرر نوٹیفکیشن کو غیر ضروری پیغامات کو محدود کرنے کے لیے ڈیزائن کیا گیا ہے، لہذا آپ کو صرف فی ورک فلو ورژن ایک نوٹیفکیشن ملے گا۔

شروع کرنے کے لیے، آپ درج ذیل میں سے کسی ایک ٹیمپلیٹ کا استعمال کر سکتے ہیں:

رن کو دوبارہ آزمانا

کچھ معاملات میں، ورک فلو رن کو کسی ایرر کا سامنا ہو سکتا ہے یا وہ حسب منشا رن نہیں ہو سکتا۔ متعلقہ ورک فلو میں مسائل کی ٹربل شوٹنگ اور انہیں ٹھیک کرنے کے بعد، پچھلے رن کے نتائج کو مؤثر طریقے سے درست کرنے کے لیے ماضی کے رن کو دستی طور پر دوبارہ آزمایا جا سکتا ہے۔ ورک فلو رن کو دوبارہ آزمانے کے بارے میں مزید جانیں۔

رن ہو رہا ہے (ریٹ محدود ہے)

بعض صورتوں میں، ایک یا متعدد ورک فلو بہت زیادہ ریسورس استعمال کر سکتے ہیں، اور اسے مسائل پیدا کرنے سے روکنے کے لیے Flow جان بوجھ کر آپ کے اسٹور پر رن کے عمل کو محدود کر دے گا، جس کی وجہ سے تاخیر اور ٹائم آؤٹ کے ایرر پیش آ سکتے ہیں۔ اسے غیر موثر ورک فلو کو دوبارہ لکھ کر حل کیا جا سکتا ہے، جس کا مقصد عام طور پر اس بگ کو دور کرنا ہوتا ہے جس کی وجہ سے وہ حسب منشا کام نہیں کر رہا تھا۔

بہت زیادہ وقت سے چل رہا ہے

یہ پیغام ظاہر کرتا ہے کہ ورک فلو کے رن مکمل ہونے میں بہت زیادہ وقت لے رہے ہیں۔ اس کی عام وجہ ورک فلو کے اندر ڈیٹا کی بڑی مقدار استعمال کرنا ہے جسے بازیافت کرنے میں Flow کو کافی وقت لگتا ہے۔

یہ صورتحال عام طور پر ان گہرے ریکویسٹ پاتھس کی وجہ سے پیش آتی ہے جو آئٹم کی متعدد فہرستوں سے گزرتے ہیں (جیسے ان تمام کلیکشنز کی تمام پروڈکٹس کے لیے تمام میٹافیلڈ کی درخواست کرنا جس کا ایک پروڈکٹ حصہ ہو):

طویل عرصے تک چلنے والے ورک فلو کی مثال۔

اس کا تعلق اکثر کسی ورک فلو کے ٹرگر کے مرحلے کا ٹائم آؤٹ ہونے سے بھی ہوتا ہے۔

ایسے ورک فلو جو تمام میٹافیلڈ کے ذریعے لوپ کرتے ہیں، انہیں اکثر صرف مخصوص میٹافیلڈ استعمال کر کے بہتر بنایا جا سکتا ہے۔ متعدد نیسٹڈ فہرستوں (جیسے پروڈکٹ کے لیے تمام کلیکشنز پر موجود تمام پروڈکٹس) یا خاص طور پر بڑی فہرستوں تک رسائی (جیسے میٹافیلڈ ڈیفینیشن، جس میں تمام آبجیکٹ کے لیے تمام میٹافیلڈ شامل ہوتے ہیں) شاید غیر ارادی طور پر کی گئی ہو، اور درست فیلڈ (کسی آبجیکٹ پر سنگل پروڈکٹ یا سنگل میٹافیلڈ) کو منتخب کرنے سے کارکردگی میں نمایاں بہتری آ سکتی ہے۔ دیگر صورتوں میں، استفسار کے فلٹر کے ساتھ "Get Product/Order/Customer Data" (پروڈکٹ/آرڈر/کسٹمر کا ڈیٹا حاصل کریں) ایکشن استعمال کرنے سے استعمال ہونے والے آبجیکٹ کی تعداد نمایاں طور پر کم ہو سکتی ہے لیکن پھر بھی متعلقہ آبجیکٹ تک رسائی حاصل کی جا سکتی ہے۔

بہت زیادہ ڈیٹا پروسیس ہو رہا ہے

یہ پیغام ظاہر کرتا ہے کہ ورک فلو کے رن، ڈیٹا کی ایک بڑی مقدار تیار کر رہے ہیں۔ اس کی عام وجہ پیچیدہ شرائط کا ہونا ہے جو کئی فیلڈز کو چیک کرتی ہیں، جس کی وجہ عام طور پر فہرستوں کی متعدد تہوں پر فیلڈز کو چیک کرنا ہوتا ہے۔

مثال کے طور پر، ایسی شرط جیسے "اس کسٹمر کے کم از کم ایک ٹیگ کے لیے، آرڈر کے کم از کم ایک لائن آئٹم کے لیے، لائن آئٹم کے کم از کم ایک ٹیگ کے لیے" کے نتیجے میں کئی چیکس انجام دیے جا سکتے ہیں، اور ان چیکس کے نتائج دکھانے کے لیے بہت سا ڈیٹا تیار کیا جا سکتا ہے:

بہت زیادہ ڈیٹا پروسیس کرنے کی کوشش کرنے والے ورک فلو کی مثال۔

خودکار ری ٹرائز ناکام ہو رہی ہیں

یہ پیغام ظاہر کرتا ہے کہ کسی عارضی مسئلے کی وجہ سے ورک فلو کے رن بار بار ناکام ہو رہے ہیں لیکن وہ بعد میں کی جانے والی ری ٹرائز میں اکثر کامیاب نہیں ہو رہے ہیں۔ ایسا اکثر تب ہوتا ہے جب یا تو Shopify کی Admin API یا کسی پارٹنر کی ایپ کو درخواستوں کے بہت زیادہ حجم کا سامنا ہوتا ہے۔