Saya berada di server bersama (Siteground), dan karena skrip WordPress WordPress saya membutuhkan waktu lebih dari 30 detik, ia mengembalikan batas waktu 504 Gateway.
Apakah kueri saya akan berjalan dan selesai jika tidak menemukan kesalahan lebih lanjut?
Sunting: Saya bertanya mengapa saya menerima kesalahan ini kepada tim hosting saya, di sini pakar Siteground Hosting menjelaskan masalah ini sebagai berikut:
Kami menggunakan kedua Apache + Nginx di semua server kami. Apache digunakan untuk layanan web utama, sedangkan Nginx digunakan sebagai proxy-terbalik dan mendistribusikan cache. Ketika respons tidak dapat dilayani dari cache (biasanya ini merujuk pada konten dinamis) permintaan dari Nginx dilakukan terhadap Apache. Ini ketika Apache sedang memproses permintaan, meneruskannya ke situs web Anda dan sesuai dengan logika PHP, permintaan MySQL dapat dilakukan atau data lain diambil. Ketika proses ini terlalu lama dan Apache tidak mengembalikan respons pada waktu yang tepat ke Nginx Anda akan melihat kesalahan ini. Singkatnya, Apache tidak dapat mem-server permintaan karena aplikasi menyelesaikan proses dalam waktu yang diizinkan. Ini juga berarti bahwa proses yang diprakarsai kemungkinan besar tidak selesai sepenuhnya dan beberapa data / tindakan mungkin telah disimpan / dieksekusi.
Pakar itu mengatakan "initiated process most probably not completed fully"
,
Lebih detail tentang skenario saya: Skrip saya menambahkan produk woocommerce dengan variasi menggunakan wp_insert_post
metode ke situs web wordpress saya. Setelah produk ditambahkan, ini akan menampilkan gambar produk yang baru ditambahkan.
Ketika saya menambahkan 1 produk (40 variasi), itu melengkapi dan menampilkan gambar produk. Ketika saya menambahkan 6 produk (240 variasi), saya menerima kesalahan langsung di browser saya.
Jadi untuk lebih lanjut menguji masalah ini, saya memodifikasi kode saya dan menulis ulang menggunakan ajax dan menambahkan bar proses seperti sistem. (Yang menambah angka untuk setiap variasi).
Setelah saya menjalankan kode untuk 1 produk (dengan 40 variasi), jumlah proses meningkat menjadi 40, dan itu menampilkan gambar produk.
Ketika saya menjalankan kode saya untuk 6 produk, jumlah proses meningkat menjadi 240, tetapi tidak menampilkan apa-apa, dan ketika saya periksa, ia menerima kesalahan 504. ( jQuery.Ajax
bagian kesalahan fungsi)
Jadi ini membuat saya berpikir bahwa kueri berjalan bahkan itu timeout, tetapi masih saya tidak bisa memastikan, dan mencari rincian behing 504 kesalahan batas waktu gateway karena tidak ada dokumentasi yang baik tentang ini.