Teknik

Siparişler Birikince Panelin Değil Kuyruğun Çöküyor: E-Pin Yazılımında Teslimat Sırasını Ayakta Tutan Görünmez Trafik Polisi

E-pin yazılımında teslimat kuyruğu nasıl kurulur? İşçi sayısı, öncelik, tekrar deneme ve ölü mektup kutusu mantığını satıcı diliyle anlatan teknik rehber.

Siparişler Birikince Panelin Değil Kuyruğun Çöküyor: E-Pin Yazılımında Teslimat Sırasını Ayakta Tutan Görünmez Trafik Polisi

Kampanya duyurusunu yaptın, trafik geldi, siparişler düşüyor. Panel açık, her şey yolunda görünüyor. Sonra bir müşteri yazıyor: "Ödemeyi yaptım, 14 dakika oldu, kod gelmedi." Bakıyorsun sipariş orada, durumu "işleniyor". Çoğu satıcı bu anda sunucuyu suçlar, bazıları ödeme sağlayıcısını. Gerçek sebep neredeyse her zaman aynı: teslimat işleri bir kuyruğa girmiş ve o kuyruğu kimse yönetmiyor.

Kuyruk, bir e-pin satış scripti içinde en çok göz ardı edilen ama satış hacmini en doğrudan sınırlayan parçadır. Çünkü kuyruk yoksa sistem trafikte kilitlenir, kuyruk varsa ama sırası yönetilmiyorsa sistem trafikte sessizce yavaşlar. İkincisi daha tehlikelidir; hata mesajı vermez, sadece müşteri kaçırır. Bu yazıda kuyruğun nasıl çalıştığını, kaç işçiyle döndüğünü, hangi işin öne geçmesi gerektiğini ve tıkandığında ne yapılacağını anlatıyorum.

90 snmüşterinin kod beklemeye tahammül eşiği
4-6tipik kurulum için sağlıklı eşzamanlı işçi sayısı
5 katkampanya anında kuyruk uzunluğundaki ani artış
%18tedarikçi zaman aşımı kaynaklı tekrar deneme payı

Kuyruk Aslında Bir Bekleme Odası Değil, Bir Sözleşme

Teslimat kuyruğunu "işler sıraya giriyor" diye düşünmek eksik bir resim verir. Kuyruk esasen şu sözü verir: bu iş kaybolmayacak, en az bir kez çalıştırılacak ve sonucu kayda geçecek. Bu sözün karşılığında senden bir şey ister — işin tekrar çalıştırılmaya dayanıklı olması. Yani aynı teslimat görevi iki kez işlenirse ikinci kez zarar vermemeli. Kuyruk ile tekillik kontrolü bu yüzden ayrılmaz ikizdir; kuyruk kurup tekilliği atlayan bir kurulum, sorunu çözmek yerine büyütür.

İkinci nokta: kuyruk eşzamanlılığı yok etmez, yönetilebilir hale getirir. Ödeme bildirimi geldiği anda teslimat yapmaya çalışan bir epin yazılım kurulumunda 200 sipariş 200 eşzamanlı iş demektir; veritabanı boğulur, posta sunucusu sınırı aşar, tedarikçi API'si seni kısıtlar. Kuyruk aynı 200 işi dörtlü gruplar halinde akıtır. Toplam süre biraz uzar ama hiçbir iş düşmez. Satıcı için önemli olan en hızlı teslimat değil, en yüksek tamamlanma oranıdır.

Kaç İşçi Çalıştırmalısın ve Fazlası Neden Zarar?

İşçi, kuyruktan iş alıp yürüten süreçtir. Sayısını belirlerken bakılacak şey sunucunun çekirdek sayısı değil, en yavaş dış bağımlılığın kapasitesidir. Teslimatın içinde bayi API çağrısı varsa ve o API saniyede 5 istek kabul ediyorsa, 20 işçi çalıştırmak kuyruğu hızlandırmaz; hata oranını artırır, tekrar denemeleri çoğaltır ve kuyruğu daha da uzatır. Buna "tekrar deneme çığı" diyorum ve genellikle işçi sayısı iyi niyetle artırıldığı için başlar.

Pratik yaklaşım şu: en yavaş bağımlılığın güvenli hızını ölç, işçi sayısını onun altında tut, sonra kuyruk uzunluğunu izle. Kuyruk sürekli boşalıyorsa kapasiten yeterli. Kuyruk sürekli büyüyorsa önce işin kendisini hızlandır — gereksiz sorguları, senkron posta gönderimini, teslimat anında üretilen PDF'i çıkar — ardından işçiyi artır. Sağlam bir dijital ürün satış yazılımı bu ölçümleri sana panelde gösterir; göstermiyorsa körlemesine ayar yapıyorsun demektir.

İş türüÖncelikHedef süreBaşarısızlıkta davranış
Stoktan hazır kod teslimiYüksek5 saniye altı3 kez artan aralıkla dene
Tedarikçi API'sinden kod çekmeYüksek30 saniye altı5 kez dene, sonra elle onaya düş
Teslimat e-postası / mesajıOrta2 dakika altı6 kez dene, kanal değiştir
Fatura ve belge üretimiDüşük15 dakika altıSessizce yeniden kuyruğa al
Rapor ve istatistik yenilemeEn düşükGece penceresiBir sonraki pencereye bırak

Öncelik Yoksa En Değersiz İş En Değerli Müşteriyi Bekletir

Tek şeritli kuyruğun en sinsi yan etkisi şudur: gece raporu üretimi ile bekleyen bir müşterinin kodu aynı sırada durur. Rapor 40 saniye sürer, müşteri 40 saniye bekler. Çözüm, işleri sınıflandırıp ayrı şeritlere koymaktır. Teslimat şeridi her zaman öncelikli olmalı; bildirim şeridi ondan sonra gelmeli; belge ve rapor şeritleri arta kalan kapasiteyi kullanmalı.

Öncelik kurgusunun ikinci boyutu müşteri tarafıdır. Bayi siparişleri genelde çok kalemli ve uzun sürelidir; tek kalemli perakende siparişin arkasında beklemesi kimseyi üzmez, tersi büyük hayal kırıklığı yaratır. Bu yüzden iyi bir e-pin satış yazılımı kuyruğa "kalem sayısı" ve "tahmini süre" bilgisini de katar, uzun işleri ayrı şeride alır. Buna adil sıralama denir ve etkisi ortalama bekleme süresinde değil, en kötü durum bekleme süresinde görülür — müşteri deneyimini belirleyen de tam olarak o.

Kuyrukta geçen sürenin dağılımı (yoğun saat ölçümü)

  • Dış API yanıtı bekleme 45%
  • Bildirim gönderimi 25%
  • Veritabanı kilit bekleme 20%
  • Görev alma ve kayıt 10%

Tekrar Deneme Mantığı: Israrcı Olmak ile Saldırmak Arasındaki Çizgi

Bir iş başarısız olduğunda hemen tekrar denemek çoğu zaman yanlıştır. Tedarikçi zaten yoğun olduğu için hata verdiyse, 50 milisaniye sonra aynı isteği göndermek durumu kötüleştirir. Doğru yöntem artan aralıklı tekrar denemedir: 5 saniye, 15 saniye, 45 saniye, 2 dakika şeklinde açılan bir merdiven. Üstüne küçük bir rastgelelik ekle, böylece aynı anda başarısız olan yüz iş aynı anda geri dönmez.

İkinci kural: tekrar denemenin bir sonu olmalı. Sınırsız deneme, kuyruğu asla boşalmayan zombi işlerle doldurur. Belirlediğin sınıra ulaşan iş "ölü mektup kutusu" dediğimiz ayrı bir listeye düşer; orada insan gözü tarafından incelenir. Bu liste boşsa sistemin sağlıklıdır, doluyorsa sana neyin bozuk olduğunu adres adres söyler. Pek çok e-pin yazılımı kurulumunda bu liste hiç yoktur ve başarısız işler sessizce kaybolur — satıcı kaybı ancak müşteri yazdığında öğrenir.

Tek sayıyla kuyruk sağlığı

Panelde izlemen gereken metrik kuyruk uzunluğu değil, en eski bekleyen işin yaşı. Uzunluk dalgalanır ve yanıltır; en eski işin yaşı 3 dakikayı geçtiyse sistemde gerçek bir tıkanma var.

Kuyruk Durduğunda Fark Etmenin Tek Yolu: Ölü Adam Anahtarı

İşçi süreçleri sessizce ölür. Sunucu yeniden başlar, bellek sınırı aşılır, güncelleme sırasında süreç kapanır ve kimse haber vermez. Kuyruk dolar, siparişler bekler, panel normal görünür. Bunun tek çaresi düzenli kalp atışıdır: her işçi çalıştığını belirten bir zaman damgası yazar, ayrı bir denetim görevi bu damgaların tazeliğini kontrol eder, tazelik bozulduğunda sana bildirim gider.

Bu denetimi kurarken bir de tersini düşün: işçi ayakta ama iş üretmiyor olabilir. Sıfır iş tamamlanmış ama kuyrukta 80 iş bekliyorsa uyarı üretilmeli. Bir dijital ürün satış scripti için bu iki alarm, gecelik sipariş kaybının önündeki en güçlü barikattır. Maliyeti neredeyse sıfır, getirisi uyandığında karşılaşmadığın kriz.

Kontrol maddesiSağlıklı değerNasıl test edilir
Teslimat ve bildirim ayrı şeritte miEvetRapor görevini başlat, teslimat hızını ölç
En eski bekleyen iş yaşı izleniyor mu3 dakika altıPanelde metriği ara, yoksa ekle
Tekrar deneme aralığı artıyor muKademeliTedarikçi API'sini kapat, günlükleri izle
Deneme üst sınırı ve ölü liste var mıVarKasıtlı bozuk iş oluştur, nereye düştüğünü gör
İşçi kalp atışı kaydı tutuluyor mu60 saniyede birİşçiyi durdur, uyarı gelmesini bekle
Aynı iş iki işçiye düşebiliyor muDüşmemeliİşçi sayısını artır, çift teslimat kontrol et
Kuyruk sunucu yeniden başlarsa hayatta mıEvetSunucuyu yeniden başlat, bekleyen işleri say

Kuyruğunu tahminle değil ölçümle yönet

Pinova; öncelikli şeritler, artan aralıklı tekrar deneme, ölü mektup kutusu ve işçi kalp atışı izlemeyi hazır getiren lisanslı bir e-pin satış yönetim yazılımıdır. Hacmine uygun paketi fiyat sayfasından seçebilirsin.

Kuyruk için ayrı bir sunucu şart mı?

Şart değil. Orta hacimde veritabanı tabanlı bir kuyruk ve zamanlı görevler fazlasıyla yeter. Ayrı altyapı, saniyede onlarca teslimat yaptığın noktada anlam kazanır.

İşçi sayısını artırınca teslimat neden yavaşladı?

Muhtemelen en yavaş bağımlılığın kapasitesini aştın. Tedarikçi ya da posta sunucusu seni kısıtlamaya başlar, hatalar artar, tekrar denemeler kuyruğu şişirir. Sayıyı düşürüp işin kendisini hafiflet.

Müşteri beklerken ne göstermeliyim?

Belirsiz bir yükleniyor animasyonu değil, durum ve tahmini süre. "Ödeme onaylandı, kod hazırlanıyor, tahmini 40 saniye" cümlesi destek talebi sayısını belirgin şekilde düşürür.

Ölü mektup kutusundaki işleri ne yapacağım?

Sebebe göre ayır: tedarikçi arızası geçicidir, toplu yeniden kuyruğa al. Hatalı ürün eşleşmesi kalıcıdır, önce eşleşmeyi düzelt sonra çalıştır. Kutuyu boşaltmadan kapatma.

Kuyruk yönetimi görünmez bir iştir; iyi çalıştığında kimse fark etmez, bozulduğunda her müşteri fark eder. Kendi kurulumunda en eski bekleyen iş yaşını ve ölü liste doluluğunu izlemeye başlamak, bu görünmezliği ölçülebilir hale getirmenin en hızlı adımıdır. Nasıl bir panelde göründüğünü merak ediyorsan canlı demo üzerinden kuyruk ekranlarını gezebilir, özellik listesiyle kendi sistemini karşılaştırabilirsin.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar