# PrestaShop CRON görevleri (dışa aktarımlar, senkronizasyonlar) çalışmıyor

> Günlük bir CSV dışa aktarımı gibi bir PrestaShop CRON görevi neredeyse hiçbir zaman PrestaShop'un kendisi tarafından çalıştırılmaz: genellikle bir token parametresiyle korunan belirli bir URL'dir ve barındırıcıdaki gerçek bir sistem cron'unun bunu düzenli aralıklarla çağırması gerekir. Her gün otomatik dışa aktarım vaat eden bir eklenti kurmak, barındırıcı tarafında bu cron kaydı olmadığı sürece tek başına yeterli değildir.

- Source canonique : [https://allaux.fr/tr/prestashop/problemes/taches-cron-ne-sexecutent-pas](https://allaux.fr/tr/prestashop/problemes/taches-cron-ne-sexecutent-pas)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> Modülün gösterdiği URL’yi, token dahil kopyalayın ve tarayıcıda elle çağırın: görev çalışıyorsa sorun PrestaShop’ta değildir, barındırma tarafında cron kaydı yoktur. Kaydı barındırma panelinden ya da crontab üzerinden oluşturun; HTTP zaman aşımına takılmamak için tercihen PHP komut satırıyla çalıştırın.

## Zamanlanmış görev, dahili bir zamanlayıcı değildir

Her gün otomatik dışa aktarım vaat eden bir eklenti, aslında yalnızca index.php?controller=...&token=... gibi çağrılması gereken bir URL hazırlar. PrestaShop bu işlemi kendi başına tetiklemek için sürekli olarak saati izlemez.

Bu URL'yi düzenli aralıklarla çağırması gereken şey, barındırıcıda kurulan gerçek bir sistem cron'udur; bir crontab kaydı veya müşteri panelindeki karşılığı. Bu kayıt olmadan görev, test için elle tıklandığında kusursuz çalışır ama sonrasında kendiliğinden asla tetiklenmez. Bu belirtinin arkasındaki en sık karışıklık budur.

## Neden test sırasında çalışıyor ama kendiliğinden hiç çalışmıyor

Bazı giriş seviyesi paylaşımlı barındırma paketleri gerçek bir sistem cron'u oluşturmayı sınırlar, hatta hiç izin vermez; ya da yalnızca yüksek bir minimum aralıkla sınırlı sayıda kayda izin verir. Eklenti kötü tasarlanmış gibi görünür, oysa barındırıcı tarafında eksik olan şey bir cron programlama imkânının kendisidir.

Bir diğer sık neden: bir HTTP çağrısının izin verdiği süreden daha uzun süren bir betik. Klasik bir web isteğiyle tetiklenen bir cron genellikle birkaç on saniyelik bir çalışma süresiyle sınırlıdır; büyük bir kataloğu işleyen bir dışa aktarım veya senkronizasyon bu süreyi aşıp yarıda kesilebilir, bu da hiçbir şekilde açıkça bildirilmez.

## Önce barındırıcının müşteri panelini kontrol edin

> Eklentiye dokunmadan önce, barındırıcının yönetim panelinde cron görevi oluşturma imkânı sunup sunmadığını ve PrestaShop'un beklediği URL'nin doğru sıklıkla orada kayıtlı olup olmadığını kontrol ediyorum.

## Neyi kontrol edip yapılandırıyorum

1. **Beklenen tam URL** — Genellikle zamanlanmış görevin veya ilgili eklentinin yapılandırma ekranında görünen, token parametresiyle birlikte tam URL'yi alıyorum.
2. **Barındırıcıda gerçek bir cron'un mevcut olup olmadığı** — Barındırma paketinin, gerçek ihtiyaca uygun bir sıklıkla (günlük, saatlik...) bir sistem cron kaydı oluşturmaya izin verdiğini kontrol ediyorum.
3. **Betiğin çalışma süresi** — İşlem bir HTTP çağrısının izin verdiği süreyi aşıyorsa, işin gruplar hâlinde bölünmesi mi yoksa komut satırından çalıştırılmaya geçilmesi mi gerektiğini kontrol ediyorum.
4. **Çalıştırmanın gerçek sonucu** — Otomatik olarak çağrılan URL'nin, oturum veya izin eksikliğinden kaynaklanan sessiz bir hata değil, elle yapılan çağrıyla aynı sonucu ürettiğinden emin oluyorum.

## İlgili sayfalar

- **Özel PrestaShop modülü geliştirme** — Bir dışa aktarım betiğinin gruplar hâlinde bölünmesi veya HTTP yerine komut satırından çalıştırılmaya uyarlanması gerektiğinde. ([/prestashop/module-sur-mesure](/prestashop/module-sur-mesure))
- **PrestaShop'u 1.7 veya 8'e geçirme** — Zamanlanmış görevlerin, bir barındırma veya sürüm değişikliğinden sonra neden yeniden kontrol edilmesi gerektiği. ([/prestashop/migration](/prestashop/migration))
- **Yavaş yüklenen PrestaShop mağazası** — Arka planda çalışan ağır bir işlemin, ziyaretçilerin gördüğü sayfaları da nasıl yavaşlattığı. ([/prestashop/boutique-lente](/prestashop/boutique-lente))

## FAQ

### Dışa aktarımım tıkladığımda çalışıyor ama kendiliğinden hiç çalışmıyor, neden?

Çünkü tıklamak URL'yi elle tetikler; oysa barındırıcıda bunu otomatik olarak çağıracak hiçbir sistem cron'u yapılandırılmamıştır. Bunlar iki farklı şeydir.

### Barındırıcım cron oluşturma imkânı sunmuyor, ne yapmalıyım?

Bazı giriş seviyesi paylaşımlı paketler buna izin vermez veya ciddi şekilde sınırlar. Aynı barındırıcıda bir alternatif kontrol edilmeli, ya da bu ihtiyaç için farklı bir pakete geçilmelidir.

### Dışa aktarım her zaman aynı noktada duruyor, neden?

Genellikle bir HTTP isteği için izin verilen sürenin aşılmasıdır. Betiğin daha küçük gruplar hâlinde veri işleyecek şekilde uyarlanması veya bir URL yerine komut satırından çalıştırılması gerekir.

### Bir PrestaShop CRON görevi, klasik bir Linux cron görevinden farklı mıdır?

İlke olarak hayır, ama PrestaShop komut satırından doğrudan çalıştırılan bir betik yerine çağrılması gereken bir URL sunar. İkisi arasındaki bağlantıyı barındırıcının sistem cron'u kurar.

### Barındırıcıda bir cron yapılandırmak her zaman yeterli midir?

Her zaman değil. Betik başka nedenlerle başarısız oluyorsa, süre aşımı, yetersiz bellek, dışa aktarımda bir mantık hatası, cron'u yapılandırmak yalnızca tetiklemeyi çözer, işlemin kendisini değil.
