Otomatik görevlerim artık çalışmıyor
Zamanlanmış bir görevin hata mesajını okuyacak kimsesi yoktur. Gece, tarayıcısız ve kullanıcısız çalışır ve başarısız olduğunda hiçbir şey bunu bildirmez. Sorun günler sonra, bayatlamış bir akış ya da yanlış bir stokla ortaya çıkar. Bu bölümdeki en sessiz ve en pahalı arızadır.
Zamanlamanın birbirinden çok farklı iki yolu
Sıkça karıştırılan iki mekanizma vardır. Birincisi sunucu düzeyinde zamanlanmış görevdir: sistem, trafikten bağımsız olarak sabit saatte bir komut tetikler. Güvenilirdir ama oluşturmak ve denetlemek için barındırma erişimi gerektirir.
İkincisi bir ziyaretçinin sayfa yüklemesiyle tetiklemedir: CMS her sayfada bir görevin vakti gelmiş mi diye bakar ve gelmişse çalıştırır. Kurulumu basittir ama ziyaretçisi olmayan bir mağazanın hiçbir şey çalıştırmadığı ve uzun bir görevin onu tetikleyen sayfayla birlikte kesildiği anlamına gelir. «Artık çalışmayan görevlerin» önemli bir bölümü, gece trafiği düşük bir sitede bu ikinci türden görevlerdir.
Gerçekten çalışıp çalışmadığını denetlemek
-
Son çalışmanın izini arayın
Üretilen dosyanın tarihi, kaydın son satırı, veritabanındaki zaman damgası. İz yoksa görevin başarısız mı olduğu yoksa hiç tetiklenmediği mi bilinemez: bunlar iki ayrı sorundur.
-
Komutu elle çalıştırın
Elle çalışıp otomatik çalışmıyorsa sorun işlemde değil zamanlamadadır. Olası nedenleri ikiye bölen test budur.
-
Çalışma bağlamını kontrol edin
Sunucunun başlattığı bir görevin oturumu ve giriş yapmış kullanıcısı yoktur, bazen sitenin PHP sürümünden farklı bir sürüm kullanır. Kullanıcı varsayan bir işlem sessizce başarısız olur.
-
Süreyi denetleyin
Görev, bir sonrakine kadar geçen aradan uzun sürüyorsa iki çalışma çakışır. İşleme göre bu, yinelenen kayıtlar ya da veritabanı kilidi üretir.
-
Erişim anahtarlarını kontrol edin
Birçok görev, anahtarla korunan bir adresten tetiklenir. Yeniden kurulumda yenilenen bir anahtar, hiçbir mesaj vermeden mevcut tüm zamanlamaları geçersiz kılar.
Bir zamanlamayı habersiz bozan şeyler
- Barındırma değişikliği: sunucu görevleri dosyalarla birlikte kopyalanmaz ve yeniden oluşturulmalıdır.
- PHP sürüm değişikliği: zamanlanmış komut, artık aynı adla var olmayan bir çalıştırılabiliri çağırıyor olabilir.
- Sitenin başka bir dizine taşınması: göreve yazılmış mutlak yol artık hiçbir yere götürmez.
- Kendi görevlerini götüren ya da her denemede başarısız olan öksüz görevler bırakan kaldırılmış bir modül.
- Bir dış servise ait süresi dolmuş parola ya da erişim anahtarı.
Doğru sayfadan devam edin
-
PrestaShop'ta cron görevleri
PrestaShop'a özgü işleyiş ve tuzakların ayrıntısı.
-
Cron nedir
Zamanlanmış görev nedir ve nasıl tetiklenir.
-
Otomasyon
Bir işlem zinciri onarılmak yerine yeniden düşünülmeyi hak ettiğinde.
-
Ürün akışı bağlamak
Bozulan görev bir karşılaştırma sitesini ya da pazar yerini besliyorsa.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.