તમારા Shopify Flow વર્કફ્લો ઑપ્ટિમાઇઝ કરવા
જ્યારે તમે વર્કફ્લો બનાવો છો, ત્યારે તમે એ સુનિશ્ચિત કરવા માગો છો કે તે શક્ય તેટલી કાર્યક્ષમ રીતે રન થાય. આ દસ્તાવેજ એવા દૃશ્યોની રૂપરેખા આપે છે જેના કારણે તમારા વર્કફ્લો થ્રોટલ થઈ શકે છે અથવા API મર્યાદા સમાપ્ત થઈ શકે છે અને તે સમસ્યાઓને ઉકેલવા અથવા તેના કામચલાઉ ઉકેલ વિશેની ટિપ્સ પ્રદાન કરે છે.
આ પેજ પર
પ્રદર્શનની સામાન્ય સમસ્યાઓ
આ વિભાગ એવા સામાન્ય સંજોગોની રૂપરેખા આપે છે જે તમારા વર્કફ્લોમાં પ્રદર્શનની સમસ્યાઓનું કારણ બની શકે છે. એક જ સમયે એક કરતાં વધુ સંજોગો હોવા શક્ય છે, જે તમારી પ્રદર્શન સમસ્યાઓનું નિરીક્ષણ કરવાની સંભાવના વધારે છે. એડિટર કન્ફિગરેશન અથવા રેટ મર્યાદિત કરવા સંબંધિત ભૂલો માટે, મુશ્કેલીનિવારણ માર્ગદર્શિકાનો ઉપયોગ કરો.
હાઇ વૉલ્યુમ ટ્રિગર્સ
હાઇ વૉલ્યુમ ટ્રિગર્સ એ છે જ્યાં અંતર્ગત ઇવેન્ટ વારંવાર થાય છે. ઉદાહરણ તરીકે, પ્રોડક્ટ વેરિઅન્ટ ઇન્વેન્ટરીનો જથ્થો બદલાયો છે ટ્રિગર કોઈ શૉપમાં દરેક ઇન્વેન્ટરી ફેરફાર માટે રન થાય છે. ટ્રિગરનું વૉલ્યુમ તમારા વર્કફ્લોની કોઈપણ સમસ્યા પર ગુણક તરીકે કાર્ય કરે છે. ઉદાહરણ તરીકે, જો કોઈ વર્કફ્લો 100 પ્રોડક્ટ મેળવે છે, અને તે દર મિનિટે 1000 વખત રન થાય છે, તો તે દર મિનિટે 1,00,000 પ્રોડક્ટ મેળવતો હશે. આ પ્રદર્શનની સમસ્યાઓનું કારણ બની શકે છે.
ઉકેલ: ઓછા ડેટાનો ઉપયોગ કરીને તમારા વર્કફ્લો ઑપ્ટિમાઇઝ કરો અથવા તમારા વર્કફ્લોને વિભાજિત કરવા માટે wait સ્ટેપ્સનો ઉપયોગ કરો.
એક જ ટ્રિગરનો ઉપયોગ કરતા ઘણા વર્કફ્લો
Shopify Flowમાં, તમે સમાન ટ્રિગરનો ઉપયોગ કરીને એક કરતાં વધુ વર્કફ્લો બનાવી શકો છો. જ્યારે ઇવેન્ટ થશે, ત્યારે આ વર્કફ્લો એકબીજાની સાથે સમાંતર રન થશે. જો તમે નીચેના કારણોસર સમાન ટ્રિગરનો ઉપયોગ કરીને ઘણા બધા વર્કફ્લો રન કરો, તો આ સમસ્યારૂપ બની શકે છે:
- વર્કફ્લો એકબીજા સાથે વિરોધાભાસી થઈ શકે છે.
- વર્કફ્લો એક જ સમયે ડેટા મેળવવાનો અને API કૉલ કરવાનો પ્રયાસ કરી રહ્યા છે, અને Shopify API મર્યાદાઓ દ્વારા તમારો સ્ટોર એક સાથે કેટલી વિનંતીઓ હૅન્ડલ કરી શકે તેની મર્યાદા હોય છે.
ઉકેલ: સમાન ટ્રિગરનો ઉપયોગ કરતા વર્કફ્લોને એક જ વર્કફ્લોમાં જોડો. આ તમને તેમાંથી પ્રત્યેક ક્યારે એક્ઝિક્યુટ થાય છે, તે નિયંત્રિત કરવાની પણ મંજૂરી આપે છે, જેથી તેઓ એકબીજા સાથે સંઘર્ષ ન કરે. જો વર્કફ્લો ઘણો ડેટા પુનઃપ્રાપ્ત કરતા ન હોય અથવા તેઓ જે ડેટા પુનઃપ્રાપ્ત કરે છે તે સમાન હોય, તો વર્કફ્લો જોડવા ખાસ કરીને ઉપયોગી છે. જો વર્કફ્લો ઘણો અલગ ડેટા પુનઃપ્રાપ્ત કરે છે, તો તમને લાગી શકે છે કે તેમને અલગ રાખવાથી વધુ સારું પ્રદર્શન મળે છે.
સૂચિઓ અથવા ખોટા ડેટાનો ઉપયોગ કરવો
જ્યારે તમે વર્કફ્લો બનાવો છો, ત્યારે તમે પ્રોડક્ટ અથવા ઑર્ડર જેવા ઑબ્જેક્ટની સૂચિનો ઉપયોગ કરી શકો છો. જો તમે ઑબ્જેક્ટની સૂચિનો ઉપયોગ કરો છો, તો Flow સૂચિમાંના તમામ ઑબ્જેક્ટ મેળવશે. જ્યારે સૂચિમાં ઘણો ડેટા હોય, ત્યારે આ સમસ્યા બની શકે છે.
બીજી સામાન્ય સમસ્યા આકસ્મિક રીતે ખોટો ડેટા પસંદ કરવાની છે. ઉદાહરણ તરીકે, ઑર્ડર પર પ્રોડક્ટનો ડેટા ચેક કરવા માટે, તમે order / line items / product / tagsને બદલે કદાચ order / publication / products / tags પસંદ કર્યું હોય. પ્રથમ પરિણામ સામાન્ય રીતે ખોટું હોય છે, કારણ કે જ્યારે ઇરાદો ઑર્ડર પર પ્રોડક્ટ ચેક કરવાનો હોય ત્યારે તે પબ્લિકેશન માટેની બધી પ્રોડક્ટ મેળવે છે. આવી મોટી સૂચિ પસંદ કરવાથી પ્રદર્શનની સમસ્યાઓ થઈ શકે છે અને ખોટી સૂચિ પસંદ કરવાથી તમારું ઑટોમેશન ખોટું કાર્ય કરી શકે છે.
ઉકેલ: તમને જરૂરી ડેટા કાળજીપૂર્વક પસંદ કરો અને જ્યારે જરૂર ન હોય ત્યારે સૂચિઓનો ઉપયોગ કરવાનું ટાળો. તમારા વર્કફ્લો તમારી અપેક્ષા મુજબ કાર્ય કરી રહ્યા છે તેની ખાતરી કરવા, તેમનું પરીક્ષણ કરો.
મેટાફીલ્ડ્સ
વ્યક્તિગત મેટાફીલ્ડ અથવા મેટાઑબ્જેક્ટનો ડેટા મેળવવાથી પ્રદર્શનની સમસ્યાઓ થવી જોઈએ નહીં. જોકે, એક સામાન્ય સમસ્યા metafields સૂચિ પસંદ કરવાની અને સંસાધન પરના તમામ મેટાફીલ્ડ્સ પર લૂપ કરવાની છે. જો value ફીલ્ડમાં ઘણો ડેટા હોય, ઉદાહરણ તરીકે, જ્યારે HTML ઑબ્જેક્ટનો ઉપયોગ કરવામાં આવે, તો આના પરિણામે ઘણા ડેટા પર પ્રક્રિયા થઈ શકે છે અને સંભવિતપણે પ્રદર્શનની સમસ્યાઓ થઈ શકે છે.
ઉકેલ: metafieldsના બદલે metafield ઑબ્જેક્ટનો ઉપયોગ કરો.
Get data ઍક્શન્સનો વધુ પડતો ઉપયોગ
Get order data જેવી Get data ઍક્શનનો ઉપયોગ કરતા વર્કફ્લો, Get data ઍક્શન્સમાંથી વર્કફ્લો દીઠ વધુમાં વધુ 100 ઑબ્જેક્ટ પરત કરવા માટે ડિઝાઇન કરવામાં આવ્યા છે. 100 કરતાં વધુ ઑબ્જેક્ટના કારણે પ્રદર્શનની સમસ્યાઓ થઈ શકે છે.
ઉકેલ: વર્કફ્લો વધુ વખત રન કરો જેથી તમારી ક્વેરીને 100 કરતાં વધુ પરિણામો પરત કરવાની જરૂર ન પડે. વારંવાર ક્વેરી કરવા કરતાં એક જ Get data ઍક્શનનો ફરીથી ઉપયોગ કરો.
Get data ઍક્શન્સમાં કોઈ ક્વેરી ફિલ્ટર્સ નથી
Get data ઍક્શન્સ Shopify API કૉલ કરે છે. જો કોઈ ક્વેરી હાજર ન હોય, તો API કાં તો બધા રિસોર્સ પરત કરશે અથવા એકેય નહીં. આના કારણે પ્રદર્શનની સમસ્યાઓ થઈ શકે છે, પરંતુ જ્યારે તમે વર્કફ્લોમાં પાછળથી પરત કરાયેલા ડેટાનો ઉપયોગ કરો, ત્યારે તે તમારા સ્ટોરમાં ખોટી ઍક્શન લેવાવાનું કારણ પણ બની શકે છે.
ઉકેલ: તમારી Get data ઍક્શન્સમાં હંમેશાં ક્વેરી ફિલ્ટર્સ શામેલ કરો.
Get data ઍક્શન્સમાં ખોટા ક્વેરી ફિલ્ટર્સ
Get data ક્વેરી ક્વેરી ફિલ્ટર્સના મર્યાદિત સેટને, વિશિષ્ટ સિન્ટેક્સ અને ફિલ્ટર્સમાં ઉપયોગ કરી શકાય તેવા મૂલ્યોના ચોક્કસ સેટને સપોર્ટ કરે છે. ખોટું ફિલ્ટર, ફિલ્ટર મૂલ્ય અથવા સિન્ટેક્સ દાખલ કરવાથી આખી ક્વેરી અવગણવામાં આવી શકે છે, જે કોઈ ક્વેરી ફિલ્ટર હાજર ન હોય તેના જેવી જ સમસ્યાઓનું કારણ બની શકે છે.
ઉકેલ: ઉપલબ્ધ ક્વેરી ફિલ્ટર્સની સૂચિ શોધવા માટે Flowમાં ઍક્શન દ્વારા પ્રદાન કરાયેલ દસ્તાવેજીકરણનો ઉપયોગ કરો. તમારા ક્વેરી ફિલ્ટર્સ અપેક્ષિત ડેટા પરત કરે છે તેની ખાતરી કરવા હંમેશાં તેમનું પરીક્ષણ કરો. પરત કરાયેલા ડેટાની સમીક્ષા કરવા માટે તમે Flowમાં Log Output ઍક્શનનો ઉપયોગ કરી શકો છો અથવા તમે Postman જેવા API ક્લાયન્ટ અથવા GraphiQL ઍપ મારફતે સીધા જ Shopify Admin API કૉલ કરી શકો છો.
પ્રદર્શનની સામાન્ય સમસ્યાઓ માટે અતિરિક્ત ઉકેલો
ડેટા મેળવવામાં વિલંબ કરવા માટે Wait સ્ટેપ્સનો ઉપયોગ કરો
Wait સ્ટેપ્સ તમને ચોક્કસ સમય માટે વર્કફ્લોને પૉઝ કરવાની મંજૂરી આપે છે, પરંતુ wait સ્ટેપ્સનો ઉપયોગ તમારા વર્કફ્લોને ઑપ્ટિમાઇઝ કરવા માટે પણ થઈ શકે છે. દરેક wait સ્ટેપ અસરકારક રીતે તમારા વર્કફ્લોના એક્ઝિક્યુશનને અલગ અલગ તબક્કામાં વિભાજિત કરે છે. જ્યારે વર્કફ્લો રન થાય છે, ત્યારે તે પ્રથમ wait સ્ટેપ સુધીનો જરૂરી ડેટા ઑટોમૅટિક રીતે મેળવે છે (અને બાકીના વર્કફ્લો માટે wait સ્ટેપ પછી ફરીથી ડેટા મેળવે છે).
જો કોઈ વર્કફ્લો હાઇ વૉલ્યુમ ટ્રિગરનો ઉપયોગ કરે છે અને ઘણો ડેટા મેળવે છે, પરંતુ ક્યારેક જ ઍક્શન લેશે, તો તમે કન્ડિશન અને wait સ્ટેપની જોડી પછી કોઈપણ જટિલ ડેટા અથવા લૉજિક મૂકી શકો છો. ઉદાહરણ તરીકે:
- ટ્રિગર: પ્રોડક્ટ વેરિઅન્ટ ઇન્વેન્ટરીનો જથ્થો બદલાયો છે.
- કન્ડિશન: પ્રોડક્ટ કલેક્શનમાં છે કે નહીં તે ચેક કરો.
- જો સાચું હોય, ઍક્શન: 2 સેકન્ડ રાહ જુઓ.
- ઍક્શન: ગ્રાહકને ઇમેઇલ કરો (ઘણા ડેટા સાથે).
આ ઉદાહરણમાં, 4થા સ્ટેપ માટે જરૂરી ડેટા માત્ર Wait સ્ટેપ પૂર્ણ થયા પછી જ ક્વેરી કરવામાં આવે છે. જો કન્ડિશન સામાન્ય રીતે ખોટી હોય, તો તેનો અર્થ એ છે કે વર્કફ્લો વધુ ઝડપથી અને વધુ કાર્યક્ષમ રીતે રન થશે.
શું ઑપ્ટિમાઇઝ ન કરવું
એક કરતાં વધુ ઍક્શન્સમાં સમાન ડેટાનો ઉપયોગ કરવો
જ્યારે તમે એક કરતાં વધુ સ્ટેપમાં સમાન ફીલ્ડનો ઉપયોગ કરો છો, ત્યારે Flow તે ફીલ્ડ્સના ઉપયોગનું વિશ્લેષણ કરે છે અને માત્ર એક જ વાર તે ડેટા મેળવે છે. આનો અર્થ એ છે કે તમે પ્રદર્શનની ચિંતા કર્યા વિના તમને જોઈએ તેટલી વાર ડેટાનો ઉપયોગ કરી શકો છો.