Penyelesaian masalah ralat dalam Shopify Flow
Shopify Flow membantu anda mengautomasikan tugas dan proses dalam kedai anda, namun anda mungkin menemukan ralat atau mencapai had tertentu apabila mencipta atau mengedit aliran kerja. Halaman ini menerangkan isu lazim yang mungkin anda hadapi, seperti had aliran kerja dan ralat data, serta memberikan panduan tentang cara untuk menyelesaikannya. Pemahaman terhadap ralat ini boleh membantu anda membuat penyelesaian masalah serta memastikan aliran kerja anda berjalan lancar.
Pada halaman ini
Ralat semasa mencipta aliran kerja
Semasa mencipta aliran kerja, anda mungkin mengalami ralat yang menghalang anda daripada menambah aliran kerja baharu. Berikut ialah beberapa ralat yang mungkin anda alami:
Bilangan aliran kerja melebihi had
Semasa mencipta aliran kerja baharu, anda mungkin mengalami ralat yang menyatakan Anda telah mencapai had maksimum 1000 aliran kerja yang dibenarkan. Untuk meneruskan, sila padamkan mana-mana aliran kerja yang tidak digunakan dan cuba lagi.
Flow mengehadkan bilangan aliran kerja yang boleh dimiliki oleh kedai, dengan had sebanyak 1000. Ini termasuk aliran kerja yang aktif dan tidak aktif. Jika anda mencapai had ini dan ingin mencipta aliran kerja baharu, padamkan aliran kerja yang tidak digunakan atau tidak aktif.
Jika kedai anda mempunyai lebih daripada 1000 aliran kerja sebelum had ini ditetapkan, kedai anda boleh terus beroperasi dengan lebih daripada 1000 aliran kerja. Walau bagaimanapun, untuk mencipta aliran kerja baharu, anda mestilah berada di bawah had tersebut.
Anda mungkin mengalami ralat ini semasa melakukan beberapa tindakan merentas aplikasi Flow:
- Mencipta aliran kerja baharu
- Menduplikasi aliran kerja
- Mengimport aliran kerja
- Memasang templat
Too many workflows on the same trigger
When activating a workflow, you might see a warning that your store has more than 10 active workflows using the same trigger.
Having many workflows that share the same trigger can cause performance issues, because each time the trigger event occurs, Flow must process all of the associated workflows. This fan-out can lead to slower execution times and increased resource usage.
To reduce the number of workflows on a single trigger, consider the following approaches:
- Combine workflows that use the same trigger into a single workflow with multiple branches and conditions.
- Deactivate or delete workflows that are no longer needed.
- Review whether some workflows could use a more specific trigger instead.
Ralat semasa mengedit aliran kerja
Semasa anda mengedit aliran kerja, anda mungkin mengalami ralat yang menghalang anda daripada menyimpan aliran kerja tersebut. Berikut ialah ralat biasa yang mungkin anda alami semasa mengedit aliran kerja:
Data tidak ditemukan
Semasa menambah tindakan baharu pada aliran kerja, anda mungkin mengalami ralat yang menyatakan Data tidak ditemukan:

Ralat ini berlaku kerana banyak tindakan, termasuk Tambah tag produk, memerlukan sumber Shopify, seperti Produk. Jika sumber tersebut tidak tersedia, tindakan tidak dapat dijalankan. Biasanya, aliran kerja mungkin mengandungi data yang serupa dengan data yang diperlukan tetapi sebenarnya tidak menyediakan perkara yang diperlukan.
Bahagian berikut menerangkan senario biasa yang boleh menyebabkan ralat ini dan cara untuk menyelesaikannya.
Isu 1: Senarai disediakan oleh Dapatkan data apabila satu item diperlukan
Kerap kali, aliran kerja menyediakan senarai sumber Shopify, tetapi tindakan hanya membenarkan satu sumber. Contohnya, aliran kerja menyediakan senarai produk melalui Dapatkan data produk tetapi tindakan Tambah tag produk memerlukan produk tunggal.
Untuk menyelesaikan ralat ini, anda boleh menambah tindakan Untuk setiap bagi menggelung senarai dan memanggil tindakan untuk setiap item dalam senarai. Contoh ini menggambarkan kedua-dua ralat dan penyelesaian menggunakan Untuk setiap:

Isu 2: Senarai disediakan oleh pencetus apabila satu item diperlukan
Ralat yang serupa boleh berlaku apabila tindakan memerlukan satu sumber tetapi pencetus menyediakan senarai. Contohnya, Tandakan pesanan pemenuhan sebagai dipenuhi memerlukan Pesanan pemenuhan, tetapi pencetus datang daripada Pesanan, yang menyediakan senarai pesanan pemenuhan.
Untuk menyelesaikan ralat ini, seperti Isu 1, anda boleh menambah tindakan Untuk setiap bagi menggelung senarai dan memanggil tindakan untuk setiap item dalam senarai:

Sebagai alternatif, anda boleh menggunakan pencetus berbeza yang menyediakan sumber yang diperlukan. Contohnya, dan bukannya menggunakan pencetus Pesanan dicipta, anda boleh menggunakan pencetus Pesanan pemenuhan sedia untuk dipenuhi, yang menyediakan pesanan pemenuhan tunggal.

Isu 3: Tiada data disediakan oleh pencetus Masa yang dijadualkan
Pencetus Masa yang dijadualkan tidak menyediakan data sumber Shopify. Jika anda cuba untuk menyambungkan tindakan yang memerlukan sumber Shopify selepas pencetus, anda akan mengalami ralat tersebut.
Untuk menyelesaikan ralat ini, tambah tindakan, seperti Dapatkan data produk, yang menyediakan data yang diperlukan. Seperti yang dinyatakan dalam Isu 1, anda juga perlu menambah tindakan Untuk setiap bagi menggelung mana-mana senarai yang dikembalikan oleh tindakan yang mendapatkan data.

Isu 4: Tiada data disediakan oleh pencetus aplikasi
Sama seperti isu 3, sesetengah pencetus yang dicipta oleh aplikasi tidak menyediakan data sumber Shopify yang diperlukan. Contohnya, pencetus "Ulasan dicipta" mungkin menyediakan alamat e-mel tetapi bukan objek Pelanggan, yang diperlukan oleh banyak tindakan, seperti Tambah tag pelanggan.
Untuk menyelesaikan ralat ini, anda mungkin boleh menggunakan tindakan "Dapatkan data" untuk mengambil sumber Shopify yang anda perlukan. Contohnya, anda boleh menggunakan Dapatkan data pelanggan untuk mendapatkan objek pelanggan daripada alamat e-mel yang disediakan oleh pencetus. Sama seperti isu lain, anda juga perlu menambah tindakan Untuk setiap bagi menggelung mana-mana senarai yang dikembalikan oleh tindakan yang mendapatkan data.
Jika "Dapatkan data" bukan pilihan, anda mungkin perlu menghubungi pembangun aplikasi untuk bertanya sama ada mereka boleh mengubah suai pencetus mereka bagi menyediakan data yang diperlukan.
Bilangan langkah tunggu melebihi had
Semasa menambah langkah tunggu baharu pada aliran kerja anda, anda mungkin mengalami ralat yang menyatakan, Aliran kerja mesti mempunyai 40 langkah tunggu atau kurang.
Flow mengehadkan bilangan langkah tunggu yang dibenarkan dalam aliran kerja kepada 40. Jika anda mengalami ralat ini, anda telah melebihi had ini. Untuk menyelesaikan isu ini, alih keluar langkah tunggu di tempat lain dalam aliran kerja anda.
Jika anda telah mempunyai aliran kerja yang mengandungi lebih daripada 40 langkah tunggu sebelum pengenalan had ini, aliran kerja anda akan terus berfungsi seperti yang dijangkakan. Walau bagaimanapun, untuk menambah langkah tunggu tambahan, anda perlu mengalih keluar langkah sedia ada terlebih dahulu supaya kekal di bawah had.
Selain itu, jumlah masa menunggu merentas semua langkah tunggu tidak boleh melebihi 90 hari.
Had saiz nilai medan konfigurasi dilebihi
Semasa mengedit nilai medan konfigurasi dalam syarat dalam aliran kerja anda, anda mungkin mengalami ralat yang menyatakan, Nilai medan konfigurasi mestilah di bawah 50kB.
Flow mengehadkan saiz nilai medan konfigurasi kepada data sebanyak 50kB. Apabila anda mengalami ralat ini, anda telah mencapai atau melebihi had tersebut. Untuk menyelesaikan isu ini, pendekkan panjang data yang anda tambahkan pada medan tersebut.
Jika anda telah mempunyai medan konfigurasi dengan nilai sebanyak 50kB atau lebih, aliran kerja anda akan terus berjalan seperti yang dijangkakan. Walau bagaimanapun, untuk membuat perubahan pada aliran kerja anda, anda mesti menyemak semula nilai yang menyebabkan ralat tersebut.
Ralat semasa aliran kerja berjalan
Apabila jalankan aliran kerja menghadapi ralat, jalankan aliran kerja itu ditandakan sebagai gagal. Mesej ralat dipaparkan dalam butiran jalankan aliran kerja. Berikut ialah ralat biasa yang mungkin anda hadapi apabila jalankan aliran kerja gagal:
- Ralat fana ialah ralat sementara yang berlaku apabila Flow tidak dapat melengkapkan tugas. Ralat ini dicuba semula sehingga ralat tersebut sama ada berjaya atau mencapai had masa tamat.
- Ralat kekal ialah ralat yang berlaku apabila Flow tidak dapat melengkapkan tugas dan tugas tidak boleh dicuba semula.
Ralat fana
Ralat fana ialah ralat sementara yang berlaku apabila Flow tidak dapat melengkapkan tugas. Ralat ini dicuba semula sehingga ralat tersebut sama ada berjaya atau mencapai had masa tamat. Contohnya, jika Flow tidak dapat menghubungi rakan kongsi semasa melaksanakan tindakan penyambung, Flow akan mencuba semula tugas beberapa kali sebelum berputus asa.
Percubaan semula disebarkan dengan selang masa antara setiap percubaan seterusnya meningkat daripada selang masa sebelumnya. Lazimnya, apabila aliran kerja mengalami ralat fana, aliran kerja kekal dalam keadaan berjalan (running) untuk masa yang lama semasa ia mencuba semula tugas.
Apabila tugas berjaya dicuba semula, aliran kerja akan diteruskan. Jika tugas yang dicuba semula mengalami ralat kekal, aliran kerja akan gagal. Setiap bahagian aliran kerja mempunyai gabungan had pelaksanaan atas selama 36 jam. Jika langkah dengan ralat fana tidak berjaya sebelum had tersebut dicapai, aliran kerja akan gagal.
Aliran kerja dengan langkah tunggu dibahagikan kepada beberapa bahagian. Hal ini menjejaskan cara had masa tamat dikira dalam aliran kerja. Setiap bahagian ialah kumpulan tugas yang dilaksanakan bersama-sama, dan setiap bahagian mempunyai had masa 36 jamnya yang tersendiri. Contohnya, jika aliran kerja mempunyai langkah tunggu yang menunggu selama satu jam, tugas sebelum langkah tunggu akan dilaksanakan bersama-sama dalam satu bahagian dan tugas selepas langkah tunggu akan dilaksanakan bersama-sama dalam bahagian lain. Jika aliran kerja mempunyai berbilang langkah tunggu, tugas di antara setiap langkah tunggu akan dilaksanakan bersama-sama dalam satu bahagian. Aliran kerja tanpa langkah tunggu dianggap sebagai satu bahagian.
Ralat fana sesekali berlaku ialah sesuatu yang biasa. Walau bagaimanapun, jika anda mempunyai aliran kerja yang sentiasa menghadapi ralat fana yang sama merentas berbilang jalankan aliran kerja, aliran kerja anda mungkin perlu dikonfigurasikan semula.
Masa langkah tamat
Ralat Step timed out biasanya berlaku apabila tugas dalam aliran kerja cuba menanyakan terlalu banyak data dalam satu bahagian. Ralat ini sering berlaku dalam aliran kerja yang menggelung menerusi senarai, terutamanya senarai bersarang yang terlalu besar untuk diproses dengan pantas.
Apabila ralat ini berlaku, pencetus atau langkah tunggu dipaparkan sebagai retrying.
Untuk menyelesaikan isu ini, semak syarat yang mengakses senarai dan senarai bersarang bagi mengesahkan bahawa syarat tersebut disediakan dengan betul. Isu biasa ialah syarat yang menyemak semua produk di kedai, dan bukannya hanya produk dalam pesanan.
Status 5XX
Kebanyakan tindakan Flow melibatkan tindakan membuat panggilan HTTP. Kadangkala, isu rangkaian atau pelayan lain boleh menyebabkan panggilan HTTP gagal dan mengembalikan kod ralat antara 500 dengan 599. Melihat satu kejadian ralat ini bukanlah satu isu, tetapi keadaan yang berulang mungkin menunjukkan terdapat isu pada pelayan yang mengendalikan tugas dan bukannya pada cara langkah tersebut dikonfigurasikan.
Jenis ralat ini paling kerap dipaparkan pada tindakan Hantar Permintaan HTTP, tetapi ralat ini boleh berlaku pada kebanyakan tugas.
GraphQL dibataskan
Jumlah keseluruhan kerja yang dilengkapkan oleh aliran kerja dihadkan oleh had kadar API, yang ditentukan sebahagiannya oleh pelan anda. Lazimnya, had ini tidak dicapai melainkan aliran kerja tersebut sangat kompleks atau mengandungi ralat reka bentuk yang tidak disengajakan.
Contoh berikut menerangkan situasi yang boleh menyebabkan ralat ini:
- Liquid atau syarat dalam aliran kerja menggelung atas senarai dengan jumlah data yang besar, seperti menyemak nilai medan meta yang mengandungi HTML.
- Liquid atau syarat dalam aliran kerja menggelung atas senarai yang besar, seperti menggelung menerusi
shop.ordersdi kedai yang besar. - Aliran kerja menghasilkan gelung tidak terhingga dengan aliran kerja terus mencipta jalankan aliran kerja baharu. Contohnya, keadaan ini boleh berlaku jika aliran kerja menggunakan pencetus Tag pelanggan ditambah dan menyertakan tindakan Tambah tag pelanggan.
Jika had dicapai, anda akan menerima ralat GraphQL throttled. Ralat ini boleh menjejaskan aliran kerja lain apabila aliran kerja itu cuba dijalankan, oleh itu, selesaikan ralat ini dengan segera jika ia berlaku.
Ralat kekal
Ralat kekal ialah ralat yang berlaku apabila Flow tidak dapat melengkapkan tugas dan tugas tidak boleh dicuba semula. Contohnya, jika Flow tidak dapat menghantar e-mel kerana alamat e-mel tidak sah, maka ia tidak akan mencuba semula tugas. Sebaliknya, aliran kerja akan gagal.
Medan: id diperlukan tetapi kosong
Tindakan Shopify memerlukan satu atau beberapa sumber, seperti produk, pelanggan atau pesanan untuk dijalankan. Jika sumber yang diperlukan tidak tersedia, tindakan tersebut tidak boleh dijalankan seperti yang dimaksudkan. Contohnya, pesanan boleh dicipta dalam pentadbir Shopify tanpa pelanggan. Jika anda melaksanakan tindakan, seperti Tambah tag pelanggan, tindakan itu gagal dengan ralat ini.
Untuk mengelakkan ralat ini, tambah syarat sebelum tindakan untuk menyemak sama ada sumber wujud. Dalam contoh sebelumnya, jika anda mahu menghantar e-mel dalaman dalam aliran kerja yang sama dengan Tambah tag pelanggan, anda sama ada boleh meletakkan tindakan e-mel sebelum langkah yang mungkin gagal atau menggunakan salah satu pendekatan berikut:
Letakkan tindakan dalam cawangan selari (apabila 2 cawangan atau lebih terhasil daripada satu langkah):

Tambah syarat sebelum tindakan untuk menyemak sama ada pelanggan wujud. Contohnya, anda boleh menyemak jika order / customer / id is not empty and exists.

Flow tidak mempunyai kebenaran terhadap akaun Google Sheets anda. Sila sambung semula akaun anda.
Penyambung Google Sheets memerlukan anda memautkan akaun Google anda pada Flow untuk mendapatkan kebenaran menulis pada helaian tersebut. Ralat ini boleh berlaku apabila Flow tidak mempunyai kebenaran untuk menulis pada helaian, sama ada kerana akaun itu telah dinyahpaut daripada Flow atau kerana akaun tersebut tidak dapat mengakses helaian itu.
Untuk menyelesaikan masalah ini, pastikan akaun yang digunakan untuk penyambung boleh membuka helaian dan mempunyai akses edit. Jika akaun yang salah dipautkan, anda boleh memutuskan sambungannya dan menyambungkan akaun baharu.
Langkah-langkah:
- Buka aliran kerja sedia ada atau cipta aliran kerja baharu.
- Tambah tindakan pada aliran kerja.
- Pilih penyambung Google Sheets.
- Klik Putuskan sambungan, dan kemudian klik Sambung untuk menyambung semula akaun Google yang betul.
Tindakan Flow diterima dengan sifat yang tidak sah. Pelanggan tidak menerima pemasaran.
Tindakan Hantar e-mel pemasaran tidak menghantar e-mel kepada pelanggan yang tidak bersetuju untuk menerimanya, dan gagal secara kekal jika aliran kerja cuba berbuat demikian.
Untuk menyelesaikan masalah ini, tambah syarat dalam aliran kerja yang menyemak status langganan pelanggan. Anda boleh memastikan bahawa pelanggan telah bersetuju untuk menerima e-mel pemasaran sebelum menghantarnya. Ikuti langkah-langkah dalam Pengurusan senarai pelanggan e-mel.
Kehilangan sumber bagi [resource type]
Ralat ini menunjukkan bahawa sesuatu sumber, seperti customer atau order, telah dipadamkan sebelum aliran kerja dapat mengambil datanya. Biasanya, ini berlaku selepas langkah tunggu, tetapi keadaan ini boleh berlaku juga pada pencetus jika sumber dipadamkan dengan sangat pantas selepas acara pencetus berlaku.
Dapatkan pemberitahuan apabila ralat berlaku
Jika ralat yang berlaku akan memberikan kesan kepada operasi kedai anda, maka anda boleh menetapkan pemberitahuan untuk masa ralat berlaku. Pemberitahuan ralat boleh dibina sebagai aliran kerja menggunakan pencetus Ralat aliran kerja berlaku. Pemberitahuan ralat direka bentuk untuk mengehadkan gangguan, maka anda hanya akan mendapat satu pemberitahuan bagi setiap versi aliran kerja.
Untuk bermula, anda boleh menggunakan salah satu templat yang berikut:
- Dapatkan amaran Shopify apabila ralat jalankan aliran kerja dikesan
- Dapatkan pemberitahuan melalui e-mel apabila ralat jalankan aliran kerja dikesan
- Dapatkan pemberitahuan Slack apabila ralat jalankan aliran kerja dikesan
Mencuba semula jalankan
Dalam sesetengah kes, jalankan aliran kerja boleh menghadapi ralat atau tidak berjalan seperti yang diharapkan. Selepas penyelesaian masalah dan membetulkan isu dalam aliran kerja yang berkaitan, jalankan yang lepas boleh dicuba semula secara manual untuk membetulkan keputusan jalankan lepas secara retroaktif. Ketahui lebih lanjut tentang mencuba semula jalankan aliran kerja.
Berjalan (kadar dihadkan)
Dalam sesetengah kes, satu aliran kerja atau berbilang aliran kerja boleh menggunakan terlalu banyak sumber dan untuk menghalang perkara ini daripada menyebabkan masalah, Flow akan mengehadkan pelaksanaan jalankan pada kedai anda secara sengaja, yang mungkin menyebabkan kelewatan dan ralat tamat masa. Ini boleh dibetulkan dengan menulis semula aliran kerja yang tidak cekap, selalunya untuk membetulkan pepijat yang menyebabkannya tidak berfungsi seperti yang dijangkakan.
Berjalan terlalu lama
Mesej ini menunjukkan bahawa jalankan untuk sesuatu aliran kerja mengambil masa yang sangat lama untuk dilaksanakan. Masalah ini lazimnya disebabkan oleh penggunaan jumlah data yang besar dalam aliran kerja yang mengambil banyak masa untuk Flow mendapatkannya.
Kes ini lazimnya disebabkan oleh laluan permintaan dalam yang melalui berbilang senarai item (seperti meminta semua medan meta untuk semua produk dalam semua koleksi yang produk merupakan sebahagian daripadanya):

Keadaan ini juga selalunya dikaitkan dengan langkah pencetus aliran kerja yang tamat masa.
Aliran kerja yang melungkar melalui semua medan meta selalunya boleh ditambah baik dengan hanya menggunakan medan meta yang khusus. Mengakses berbilang senarai bersarang (seperti semua produk pada semua koleksi untuk sesuatu produk) atau senarai yang sangat besar (seperti takrifan medan meta, yang mengandungi semua medan meta untuk semua objek) mungkin telah dilakukan secara tidak sengaja dan memilih medan yang betul (produk tunggal atau medan meta tunggal pada sesuatu objek) dapat meningkatkan kecekapan dengan ketara. Dalam kes lain, menggunakan tindakan "Dapatkan Data Produk/Pesanan/Pelanggan" dengan penapis pertanyaan boleh mengurangkan bilangan objek yang digunakan dengan ketara tetapi masih mengakses objek yang berkaitan.
Memproses terlalu banyak data
Mesej ini menunjukkan bahawa jalankan untuk aliran kerja menjana jumlah data yang besar. Masalah ini lazimnya berpunca daripada syarat rumit yang menyemak banyak medan, selalunya disebabkan oleh semakan medan pada berbilang lapisan senarai.
Contohnya, syarat seperti "Bagi sekurang-kurangnya satu tag pada pelanggan ini, bagi sekurang-kurangnya satu item baris pesanan, bagi sekurang-kurangnya satu tag pada item baris" boleh mengakibatkan banyak semakan dilakukan dan banyak data dijana untuk memaparkan keputusan semakan tersebut:

Percubaan semula automatik gagal
Mesej ini menunjukkan bahawa jalankan untuk sesuatu aliran kerja berulang kali gagal kerana beberapa isu sementara tetapi tidak selalunya berjaya pada percubaan semula seterusnya. Keadaan ini sering berlaku apabila sama ada Admin API Shopify atau aplikasi rakan kongsi mengalami jumlah permintaan yang tinggi.