Webhook Logs & Antrean WP-Cron Queue: Ketahanan Sinkronisasi Data
Fitur Webhook Logs dan Antrean WP-Cron Queue menjamin ketahanan sinkronisasi data (fault tolerance) antara formulir WDP RSVPKit dan Google Sheets, mencegah hilangnya data tamu saat terjadi gangguan jaringan atau pembatasan kuota API Google.
Memahami Kebutuhan & Masalah Lapangan
Mengandalkan transmisi data real-time langsung ke pihak ketiga selalu memiliki risiko kegagalan jaringan (network failure):
- Google Sheets API sesekali memberlakukan rate limiting atau mengalami gangguan sesaat (temporary outage).
- Koneksi internet server hosting mengalami lonjakan latensi (timeout), menyebabkan pengiriman webhook terputus di tengah jalan.
- Pada plugin webhook murahan, jika pengiriman pertama gagal, data tamu tersebut langsung lenyap dan tidak pernah sampai ke spreadsheet selamanya.
Bagi calon pengantin, kehilangan satu saja data konfirmasi tamu penting (misal tamu pejabat atau keluarga sepuh) dapat memicu kesalahpahaman besar di hari pernikahan.
WDP RSVPKit mengatasi masalah keandalan ini dengan menerapkan arsitektur Two-Tier Resilience: data disimpan permanen di database lokal WordPress terlebih dahulu, dan setiap kegagalan webhook otomatis ditampung ke dalam antrean WP-Cron Retry Queue untuk diproses ulang hingga sukses.
Prasyarat Sebelum Memulai
Sebelum memantau dan mengonfigurasi Webhook Logs:
- Plugin WDP RSVPKit v1.4.0 aktif berlisensi resmi.
- Webhook Google Sheets atau WhatsApp telah terkonfigurasi pada menu pengaturan.
- Memiliki hak akses Administrator di WordPress untuk membuka menu Logs.
Pokok Bahasan & Konfigurasi Teknis
1. Anatomi Tabel Webhook Logs di WP-Admin
Tabel log transmisi WDP RSVPKit menyediakan audit data yang sangat transparan:
- Timestamp: Waktu presisi (jam, menit, detik) saat event submission terjadi.
- Event Data: Ringkasan data tamu (nama dan jumlah pax yang dikirim).
- Target Endpoint: URL tujuan webhook (Google Apps Script atau WhatsApp API).
- HTTP Status Code:
200 OK: Transmisi berhasil sempurna.200 (via 302): Transmisi berhasil setelah mengikuti pengalihan Google.Timeout / 503: Server tujuan lambat merespon (masuk antrean retry).- Latency: Durasi transmisi jaringan dalam milidetik (misal:
680 ms). - Aksi / Detail: Tombol untuk melihat payload JSON mentah dan pesan respon server.
2. Siklus Kerja Antrean WP-Cron Queue (Auto-Retry Mechanism)
Alur kerja ketahanan data saat terjadi gangguan:
- Submission Masuk: Tamu menekan tombol kirim form. Data tersimpan aman di tabel database WordPress (
wp_wdp_rsvp_responses). - Kirim Webhook Seketika: Sistem mencoba mengirimkan payload data ke Google Sheets.
- Deteksi Kegagalan: Jika server Google merespon dengan kode error atau koneksi timeout (di atas 15 detik), sistem menandai log dengan status
RETRY QUEUED. - Jadwal Antrean WP-Cron: Event cron
wdp_rsvp_process_webhook_queuedijadwalkan berjalan tiap 5 menit untuk mengambil data yang tertunda dan mengirimkannya kembali. - Maksimal Percobaan: Sistem mencoba hingga 3 kali. Jika tetap gagal setelah 3 percobaan, baris log diberi tanda merah agar administrator dapat memeriksanya secara manual.
3. Tombol Eksekusi Manual (Resend All Failed)
Jika terjadi kendala kuota API Google yang sudah Anda selesaikan:
- Buka WP-Admin > menu WDP RSVPKit > Webhook Logs.
- Di pojok kanan atas, klik tombol Kirim Ulang Antrean Gagal (Resend All Failed).
- Sistem akan langsung memproses seluruh antrean yang tertunda secara berurutan dengan jeda aman 2 detik antar baris untuk menghindari pembatasan kuota baru.
4. Tabel Kode Status HTTP pada Webhook Logs
| Kode Status HTTP | Arti pada Dasbor | Solusi & Tindakan |
|---|---|---|
200 OK | Sukses Terkirim | Tidak ada tindakan, data sudah aman di spreadsheet |
302 Found | Pengalihan Google Apps Script | Otomatis diikuti oleh RSVPKit hingga menjadi status 200 |
401 / 403 | Akses Ditolak | Periksa izin Web App di Apps Script (pastikan disetel Anyone) |
404 Not Found | URL Salah | Periksa apakah URL Webhook terpotong atau salah salin |
500 / 503 | Server Target Error | Sistem otomatis memasukkan ke antrean Cron retry |
cURL 28 Timeout | Jaringan Hosting Lambat | Cron queue akan mengirim ulang saat koneksi kembali stabil |
Studi Kasus Nyata: Pernikahan Andy & Zhea
Saat tautan undangan Andy & Zhea disebarkan secara serentak pada hari Minggu malam, terjadi lonjakan konfirmasi (80 tamu mengirimkan respon dalam rentang waktu 10 menit):
- Tantangan: Server Google Apps Script sempat mengalami throttling dan menolak 4 submission dengan status HTTP 503 Service Unavailable.
- Penerapan: Fitur WP-Cron Queue RSVPKit langsung menangkap 4 respon tersebut dan menjadwalkan pengiriman ulang.
- Hasil: 15 menit kemudian, ketika beban Google mereda, cron scheduler berhasil mengirimkan keempat data yang tertunda ke spreadsheet tanpa ada intervensi manual dari vendor. Seluruh 80 data tamu tersimpan 100% lengkap tanpa ada satu pun yang tercecer.
Tips & Praktik Terbaik
DISABLE_WP_CRON = false) atau siapkan cron job server sistem operasi (cPanel Cron) agar antrean latar belakang dapat dieksekusi secara teratur.