# Besleme Zamanlama

Otomatik senkronizasyon aralığı
Kaynak: https://selwise.com/docs/product-feeds/scheduling

Zamanlama, beslemenin ne sıklıkla okunacağını belirler. Yalnızca **Feed URL** yöntemiyle beslenen feed'ler zamanlanır; dosya yükleme ve API push'ta güncelleme sizin gönderdiğiniz anda olur.

## Panelde nerede

**Katalog → Ürün Beslemesi** (Catalog → Product Feed) → **Configuration** → **Feed URL** sekmesi → **Sync Method** (Senkronizasyon Yöntemi). Seçimi **Save Feed** (Feed'i Kaydet) ile kaydedersiniz; aynı seçim **Field Mapping** sekmesindeki **Save Mapping** ile de gönderilir.

## İki yöntem

### Interval (aralık)

Seçtiğiniz aralıkta senkronize eder. Varsayılan **Every 3 hours** (3 saat).

| Seçenek | Ne zaman uygun |
|---|---|
| **Every 30 minutes** | Fiyat ve stok çok sık değişiyor (izin verilen en kısa aralık) |
| **Every 1 hour** / **Every 2 hours** | Fiyat ve stok gün içinde değişiyor |
| **Every 3 hours** | Varsayılan — çoğu mağaza |
| **Every 6 hours** / **Every 12 hours** | Katalog nadiren değişiyor |
| **Every 24 hours** | Katalog statik; en uzun aralık |

API'de aralık dakika cinsindendir ve 30 ile 1440 arasında olmalıdır (`syncInterval`); panel yalnızca yukarıdaki yedi değeri sunar. Aralık, **son başarılı senkronizasyondan** itibaren sayılır.

### Scheduled Hours (belirli saatler)

Günün seçtiğiniz saatlerinde senkronize eder: 24 saat düğmesinden (`00:00` … `23:00`) birden fazlasını seçersiniz; API'de `scheduledHours` 0–23 arası tam sayılar dizisidir (örneğin `[6, 12, 18]`).

Bu yöntem, beslemenizi belirli saatlerde üreten bir sisteminiz varsa uygundur: dosya yenilendikten hemen sonra okumak, sürekli aralıklarla okumaktan daha verimlidir.

> **Saat seçmezseniz hiç senkronize edilmez**
>
> **Scheduled Hours** seçip hiçbir saat işaretlemezseniz kayıt kabul edilir ama zamanlayıcı bu feed'i hiç çalıştırmaz; panel altında "No hour is selected, so this feed will not sync on its own" der. En az bir saat seçin ya da **Interval**'e dönün.

> **Saatler hangi saat dilimi**
>
> Saatler **Türkiye saatiyle** (Europe/Istanbul) yorumlanır; panelde `09:00` seçtiyseniz senkronizasyon İstanbul saatiyle 09:00–09:10 arasında başlar. Sunucunun saat dilimi bunu etkilemez.

## Zamanlayıcı nasıl çalışır

Zamanlayıcı her **5 dakikada bir** URL ile beslenen tüm feed'lere bakar ve zamanı gelenler için bir senkronizasyon işi kuyruğa alır:

- Hiç senkronize edilmemiş bir feed bir sonraki denetimde hemen çalıştırılır.
- **Interval** modunda son senkronizasyondan itibaren seçilen süre geçtiyse çalıştırılır. Bu yüzden gerçek aralık, seçtiğiniz süre ile en çok 5 dakika fazlası arasındadır.
- **Scheduled Hours** modunda, seçili saatin **ilk 10 dakikasında** ve o saatte o gün henüz çalışmadıysa çalıştırılır; bir saatte en fazla bir kez.
- Kataloğunu başka bir kanaldan okuyan kanalın eski feed kaydı zamanlayıcıya hiç girmez; feed'i yalnızca kataloğun sahibi kanal senkronize eder.
- Bir senkronizasyon zaten sürüyorsa yeni bir çalışma başlamaz (`FEED_SYNC_IN_PROGRESS`).
- Başarısız bir çalışma son **başarılı** senkronizasyon zamanını ilerletmez, ama zamanlayıcı bir sonraki denemeyi **başarısızlık anından** sayar: **Interval** modunda seçtiğiniz süre kadar, **Scheduled Hours** modunda bir sonraki seçili saate kadar bekler. Bozuk bir adres her 5 dakikada bir indirilmez. Kuyruk bir işi kendi içinde üç kez, artan beklemeyle yeniden dener; sonunda durum `error` olarak kalır. Nedeni **Overview** sekmesinde **Error Details** ve **Analytics** sekmesinde çalışmanın satırında yazar.

Zamanlama, beslemenin **kendisi** değişmediğinde de çalışır: Selwise yalnızca içeriği değişen ürünleri yazar, bu yüzden sık aralık veritabanını şişirmez — bkz. [Çalışma Geçmişi](/docs/product-feeds/runs).

## Hangisi seçilmeli

| Durum | Yöntem |
|---|---|
| Feed sürekli güncel | Interval |
| Feed gece toplu üretiliyor | Scheduled Hours, üretimden sonraya |
| Fiyat gün içinde değişiyor | Interval, kısa |
| Katalog statik | Scheduled Hours, günde bir |

> **Anlık güncelleme gerekiyorsa**
>
> Ne kadar sık senkronize ederseniz edin, aralık kadar gecikme olur; en kısa aralık 30 dakikadır. Stok ve fiyatın anlık yansıması gerekiyorsa push yöntemine geçin — kendi sisteminiz değişiklik olduğunda gönderir. Bkz. [Besleme Endpointi](/docs/api-reference/feeds).

## Elle senkronizasyon

**Sync Now** (Şimdi Senkronize Et) düğmesi zamanlamadan bağımsız olarak hemen bir işi kuyruğa alır (yalnızca aktif yöntem URL ise ve feed'in sahibi olan kanalda). Alan eşleştirmesi değiştirdikten sonra bunu kullanın; bir sonraki otomatik senkronizasyonu beklemeyin.

## Güncellik ve alarmlar

- **Overview** sekmesindeki [Kalite Puanı](/docs/product-feeds/quality-score)nın **Freshness** (Güncellik) ölçüsü, son senkronizasyonun yaşını beklenen aralıkla karşılaştırır.
- [Kurulum Merkezi](/docs/channels/setup-center)ndeki **The product feed has not synced successfully** alarmı, son başarılı çalışma beklenen aralığın iki katından eskiyse çıkar.

## Senkronizasyon durumunu izleme

Çalışan ve tamamlanan senkronizasyon işlerini **Background Jobs** sayfasında görebilirsiniz — bkz. [Arka Plan İşleri](/docs/operations/background-jobs); satır satır dökümü [Çalışma Geçmişi](/docs/product-feeds/runs) verir.
