Saat gece üç. Bir müşteri sitenizden 100 TL'lik oyun kodu satın aldı ve teslimat gelmiyor çünkü tedarikçi stoğu tükenmiş, siz ise bunu sabah fark edeceksiniz. E-pin ve dijital ürün satışında bu senaryo o kadar yaygın ki, çoğu satıcı için "otomasyon" lüks değil, hayatta kalma meselesi haline geliyor. İşin sırrı, sistemin insan uyurken de kendi kendine çalışmasında; bunun adı da cron görevleri.
Bu yazıda e-pin scriptinde cron görevlerinin ne işe yaradığını, hangi işlemlerin otomatikleştirilmesi gerektiğini ve Pinova'da bu otomasyonun pratikte nasıl kurulduğunu anlatıyoruz.
E-pin sisteminde otomasyon neden bu kadar kritik?
Fiziksel bir mağazada gece kapanırsınız, sabah açarsınız. E-pin ve dijital ürün satışında böyle bir lüks yok — site 7/24 açık, ödeme 7/24 geliyor, ama arkadaki tedarikçi stokları, döviz kurları ve bayi bakiyeleri saniyeler içinde değişiyor. Sistemin bu değişimi anlık takip etmesi gerekiyor; aksi halde ya müşteriye elinizde olmayan bir ürünü satarsınız ya da güncel olmayan bir kurdan fiyat gösterip zarar edersiniz.
Cron görevleri, tam olarak burada devreye giriyor: belirlediğiniz aralıklarla (dakikada bir, saatte bir, günde bir) kendiliğinden çalışan, insan müdahalesi gerektirmeyen arka plan işleridir. Sunucunuzun işletim sisteminin kendi zamanlayıcısı üzerinden tetiklenir ve siz uyurken, tatildeyken ya da başka bir işle uğraşırken sisteminizin nabzını attırmaya devam eder.
- Stok bilgisi güncel kalır, tükenen ürün otomatik pasife alınır.
- Döviz kuru bağlı fiyatlar piyasayla senkron kalır.
- Bekleyen ödemeler ve teslimatlar takip edilip otomatik tamamlanır.
- Bayi komisyonları ve cüzdan bakiyeleri her gün doğru şekilde mutabakata alınır.
Hangi işlemler cron ile otomatikleştirilir?
Her e-pin scriptinde otomasyona ihtiyaç duyan birkaç kritik nokta vardır. Bunları tek tek elle takip etmeye çalışmak, işletme büyüdükçe imkansız hale gelir. En sık otomatikleştirilen görevler şunlardır:
- Stok/API senkronizasyonu: Turkpin, Pinabi gibi tedarikçilerin ürün stoğu ve fiyatı düzenli aralıklarla çekilip sisteme yansıtılır.
- Kur güncelleme: Dolar/euro bazlı tedarik fiyatları, güncel kura göre otomatik yeniden hesaplanır.
- Bekleyen sipariş kontrolü: Ödemesi onaylanmış ama teslimatı takılmış siparişler tespit edilip tekrar tetiklenir veya bildirim üretir.
- Cüzdan/bakiye mutabakatı: Bayi ve müşteri cüzdan hareketleri günlük olarak toplam kasa ile karşılaştırılır.
- Terkedilmiş sepet/ödeme temizliği: Yarım kalmış ödeme kayıtları belirli süre sonra iptal edilip stok/blokaj serbest bırakılır.
- Yedekleme ve loglama: Veritabanı yedekleri ve işlem kayıtları belirlenen saatte otomatik alınır.
Bu listedeki her madde, elle yapıldığında dakikalar ya da saatler alan ama cron ile saniyeler içinde tamamlanan işlerdir. Asıl fark, insan hatasının ve unutkanlığın devreden çıkmasıdır.
Cron görevi arka planda tam olarak nasıl çalışır?
Cron, Linux tabanlı sunucularda yerleşik bir zamanlayıcı hizmetidir. Belirlediğiniz bir zaman ifadesine (örneğin "her 5 dakikada bir" ya da "her gün saat 03:00'te") göre, önceden tanımlanmış bir betiği ya da URL'yi tetikler. E-pin scriptlerinde genellikle iki yöntemden biri kullanılır:
- Doğrudan PHP dosyası çalıştırma: Sunucu, cron ile belirli bir PHP dosyasını komut satırından çalıştırır (örn.
php /home/site/cron/stok_sync.php). - URL tetikleme: Cron, gizli bir anahtar (key) içeren bir URL'yi ziyaret eder (örn.
siteniz.com/cron.php?key=xxxx); bu yöntem paylaşımlı hosting ortamlarında daha yaygındır çünkü cPanel gibi panellerden kolayca yönetilir.
Her iki durumda da kritik nokta, görevin "idempotent" yani aynı anda birden fazla kez tetiklense bile veriyi bozmayacak şekilde yazılmış olmasıdır. Ayrıca her cron dosyasının çalışma süresi kısa tutulmalı, uzun süren işler kuyruğa alınarak parça parça işlenmelidir — aksi halde sunucu kaynakları tükenip site geneli yavaşlayabilir.
Kritik cron görevlerine (stok senkronu, ödeme kontrolü gibi) mutlaka bir kilit mekanizması (lock file) ekleyin. Aksi halde bir önceki çalışma bitmeden yenisi başlarsa, aynı siparişin iki kez işlenmesi ya da stok sayımının çift sayılması gibi ciddi hatalar oluşabilir.
Manuel takip sizi neden yoruyor?
Küçük ölçekte elle takip "idare eder" gibi görünebilir. Ama sipariş sayısı arttıkça, farklı tedarikçilerle çalışmaya başladıkça ve bayi ağınız büyüdükçe, manuel süreçlerin maliyeti katlanarak artar. Aşağıdaki tablo, en sık karşılaşılan görevlerde manuel yöntemle otomasyon arasındaki farkı gösteriyor:
| İşlem | Manuel / Elle | Pinova ile |
|---|---|---|
| Stok kontrolü | Panelden tek tek kontrol, günde birkaç kez | Dakikalık otomatik API senkronu |
| Kur güncelleme | Fiyatlar elle hesaplanıp güncellenir | Belirlenen sıklıkta otomatik yeniden hesaplama |
| Takılan teslimat | Müşteri şikayet edince fark edilir | Sistem otomatik tespit edip yeniden dener/bildirim üretir |
| Bakiye mutabakatı | Ay sonunda Excel ile karşılaştırma | Günlük otomatik raporlama |
| Veri yedekleme | Hatırlanırsa elle alınır | Zamanlanmış otomatik yedek |
Cron ayarlarken en sık yapılan hatalar nelerdir?
Otomasyon kurmak, doğru kurulmadığında yeni sorunlar da yaratabilir. Sahada en sık karşılaşılan hatalar şunlar:
- Çok sık çalıştırma: Her dakika tetiklenen ağır bir görev, sunucuyu ve tedarikçi API'sini gereksiz yere yorar; bazı tedarikçiler bu yüzden IP'yi geçici olarak engelleyebilir.
- Örtüşen çalışmalar: Bir görev bitmeden yenisi başlarsa, veri çift işlenebilir veya kilitlenme (deadlock) oluşabilir.
- Loglama yapmamak: Cron sessizce hata verip durursa ve loglanmıyorsa, günler sonra fark edilir — genellikle bir müşteri şikayetiyle.
- Saat dilimi karışıklığı: Sunucu saati ile panel saati farklıysa, "günlük rapor" beklenmedik saatte veya hiç çalışmayabilir.
- Hata durumunda sessiz kalma: Tedarikçi API'si çöktüğünde sistem sessizce eski veriyle devam ederse, müşteriye yanlış stok/fiyat gösterilmeye devam eder.
Bu hatalardan kaçınmanın yolu, her cron görevine anlamlı loglama, hata bildirimi ve makul bir çalışma aralığı eklemekten geçiyor.
Pinova'da otomasyon nasıl kurulur?
Pinova, e-pin ve dijital ürün satışına özel olarak tasarlandığı için cron tabanlı otomasyon, kurulumun bir parçası olarak gelir; sıfırdan yazılım geliştirmeye gerek kalmaz. Kendi sunucunuza kurduğunuzda tipik akış şöyle işler:
- Panelden tedarikçi API bilgilerinizi (Turkpin, Pinabi vb.) tanımlarsınız.
- Sunucunuzun cPanel veya benzeri kontrol panelinden, Pinova'nın verdiği anahtarlı cron URL'lerini (stok senkronu, kur güncelleme, bekleyen sipariş kontrolü) belirlediğiniz aralıklarla çalışacak şekilde eklersiniz.
- Sistem, her çalışmada işlem kaydı tutar; bir hata olursa panelde görünür, bu sayede körlemesine güvenmek zorunda kalmazsınız.
- Cüzdan ve bayi komisyon hesaplamaları da aynı zamanlayıcı mantığıyla günlük olarak otomatik yürür.
Sonuç olarak siz büyüme ve pazarlamaya odaklanırken, stok-fiyat-teslimat üçgeni arka planda kendi kendini yönetir. Kendi sunucunuza kurulan bir sistem olduğu için de bu cron görevlerinin sıklığını ve kapsamını işinizin hacmine göre siz belirlersiniz.
Sisteminizi otomatik pilota almaya hazır mısınız?
Pinova ile stok senkronu, kur güncelleme ve teslimat kontrolü arka planda otomatik çalışır; siz işinize odaklanırsınız.
Cron görevleri sitemi yavaşlatır mı?
Doğru yapılandırıldığında hayır. Görevler kısa sürede tamamlanacak şekilde tasarlanır ve gereksiz sıklıkta çalıştırılmaz; ağır işler kuyruğa bölünerek arka planda sessizce işlenir.
Cron görevi çalışmazsa nasıl anlarım?
İyi kurulmuş bir sistemde her cron çalışması loglanır ve hata durumunda panelde ya da bildirimle görünür hale gelir. Pinova'da işlem kayıtları bu amaçla tutulur.
Kaç dakikada bir cron çalıştırmalıyım?
İşlem hacminize göre değişir; stok senkronu için 5-15 dakika, kur güncelleme için saatlik, mutabakat ve yedekleme için günlük aralıklar genelde yeterlidir.
Paylaşımlı hostingde cron kurulabilir mi?
Evet, çoğu cPanel tabanlı paylaşımlı hosting cron desteği sunar. Anahtarlı URL yöntemiyle Pinova'nın otomasyon görevleri bu ortamlarda da sorunsuz çalışır.

