# Raporu belirli zamanlarda gönderin

> Bir raporu günlük, hafta içi, haftalık ya da aylık çalıştırıp PDF veya Excel olarak e-postayla gönderin; duraklatın ve sonuçları izleyin.

Kaynak: https://proxus.io/tr/docs/analyze/scheduled-delivery

Bu kılavuzda **Genel çalışma durumu yönetici özeti** raporunu, hafta içi her gün saat 06.30'da oluşturulacak ve PDF
olarak e-postayla gönderilecek şekilde ayarlayacaksınız.

## Başlamadan önce

Şunlar gerekir:

- Parametre sormadan çalışan bir rapor. Planlı çalıştırmada parametreler doldurulamaz. Bu yüzden parametresiz bir
  rapor seçin ([Raporlar](https://proxus.io/tr/docs/analyze/reports) sayfasında **İstediği parametreler** sütununda "Yok" yazan hazır
  raporlar) ya da parametrelerinin varsayılan değerleri istediğiniz gibi ayarlanmış bir kopya kullanın.
- E-posta göndermek için bir **E-posta bildirimi** kanalı. Kanalda SMTP sunucusu, kullanıcı adı, parola, gönderen
  (`From`) ve alıcılar (`To`; isteğe bağlı olarak `Cc` ve `Bcc`, `,` ya da `;` ile ayrılmış) tanımlı olmalıdır. Bkz.
  [Bildirim kanalları](https://proxus.io/tr/docs/connect/notification-channels). Alıcılar zamanlamada değil, kanalda tanımlanır.
  Toplam alıcı sayısı en fazla 25 olabilir.
- Planlı rapor gönderimi oluşturma izni olan bir kullanıcı rolü.

## 1. adım: Zamanlamayı oluşturun

**Raporlama > Planlı rapor gönderimi** ekranını açın ve **Yeni**'ye tıklayın.

*Ekran görüntüsü: Genel çalışma durumu yönetici özeti raporu, 06.30'da Hafta içi ön ayarı, e-posta gönderim kutusu ve sonraki çalışmanın önizlemesiyle planlı rapor gönderimi formu*

Şu alanları doldurun:

- **Ad**: örneğin `Weekday fleet health summary`. **Sahip** alanına adınız kendiliğinden yazılır. Zamanlamayı yalnızca
  sahibi ya da bir yönetici çalıştırabilir, duraklatabilir veya değiştirebilir.

1. **Rapor**: gönderilecek rapor.
2. **Zamanlama ön ayarı**: **Günlük**, **Hafta içi** (pazartesiden cumaya), **Haftalık**, **Aylık** ya da **Özel**.
   **Haftalık** seçildiğinde **Haftanın günü**, **Aylık** seçildiğinde **Ayın günü** (1 ile 28 arası) istenir.
3. **Zamanlama saati**: raporun gün içinde çalışacağı saat. Ön ayar ve saat seçildiğinde **Zamanlama ifadesi**
   alanı kendiliğinden dolar.
4. **E-posta gönderimini etkinleştir**: bu onay kutusunu işaretleyin. Ardından **Gönderim kanalı** alanında e-posta
   kanalını seçin. İsterseniz **E-posta konusu** girin. Konu girilmezse zamanlamanın adı kullanılır.
5. **Sonraki çalışma önizlemesi**: merkez sunucunun saat dilimine göre raporun bir sonraki çalışma zamanı. Kaydetmeden
   önce kontrol edin.

Sağ taraftaki alanlar:

- **Çıktı biçimi**: **PDF** ya da **XLSX**.
- **Kaçırılan çalıştırma ilkesi**: planlanan zamanda merkez sunucu çalışmıyorsa ne yapılacağı. **Atla** seçeneği bu
  çalıştırmayı atlar. **Kurtarmadan sonra bir kez çalıştır** seçeneği, merkez sunucu yeniden çalışınca raporu bir kez
  çalıştırır.
- **Çakışma ilkesi**: önceki çalıştırma hâlâ sürüyorsa ne yapılacağı: **Atla** ya da **Bir tane kuyruğa al**.
- **Otomatik yeniden deneme sınırı**: başarısız bir çalıştırmanın kaç kez yeniden deneneceği (0 ile 3 arası).
  Denemeler arasındaki süreyi **Otomatik yeniden deneme gecikmesi (dk)** belirler. Yeniden denemenin çalışması için
  yapılandırma dosyasında `AutomaticRetryEnabled = true` ayarı da gerekir.

**Kaydet**'e tıklayın. Zamanlama **Etkin** olur ve planlanan bir sonraki zamanda çalışır.

### Özel zamanlama

**Özel** seçildiğinde **Zamanlama ifadesi** alanına beş bölümlü bir cron ifadesi yazın: dakika, saat, ayın günü, ay,
haftanın günü. Örneğin `0 8 * * 1-5` pazartesiden cumaya her gün 08.00'i, `30 6 1 * *` her ayın ilk
günü 06.30'u gösterir. `H` biçimi desteklenmez.

## 2. adım: Zamanlamayı test edin

Araç çubuğunda **Şimdi çalıştır**'a tıklayın. Kaydedilmiş ayarlarla hemen bir çalıştırma kuyruğa alınır.
Çalıştırma, formun altındaki **Çalıştırmalar** listesinde görünür:

| Sütun | Anlamı |
| --- | --- |
| **Planlanan zaman** | Çalıştırmanın planlandığı zaman. |
| **Durum** | **Planlandı**, **İşleme alındı**, **Çalışıyor**, **Başarılı**, **Başarısız**, **Engellendi** ya da **İptal edildi**. |
| **Tetikleyici** | **Zamanlanmış**, **Elle** (Şimdi çalıştır), **Yeniden dene** ya da **Otomatik yeniden deneme**. |
| **Başladı**, **Tamamlandı** | Çalıştırmanın başlangıç ve bitiş zamanı. |
| **Hata nedeni** | Çalıştırmanın neden başarısız olduğunu gösteren kod (aşağıdaki tabloya bakın). |

Başarısız ya da engellenmiş bir çalıştırmayı yeniden denemek için çalıştırmayı seçip **Yeniden dene**'ye
tıklayın. Henüz başlamamış bir çalıştırmayı iptal etmek için **İptal** düğmesini kullanın.

| Hata nedeni | Anlamı ve yapılacaklar |
| --- | --- |
| `delivery_not_enabled` | E-posta gönderimi kapalı. Gönderim yalnızca bu zamanlamada (**E-posta gönderimini etkinleştir**) ya da merkez sunucunun tamamında (`ExternalDeliveryEnabled`) kapatılmış olabilir. |
| `delivery_failed` | E-posta gönderilemedi. Kanalın SMTP ayarlarını ve alıcılarını kontrol edin. |
| `delivery_ambiguous`, `provider_outcome_unknown` | E-posta sunucusu gönderimi onaylamadı. E-posta alıcıya ulaşmış ya da ulaşmamış olabilir. |
| `artifact_failed` | Rapor oluşturulamadı. Örneğin rapor sorgusu hatalı ya da dosya 20 MB sınırını aşmış olabilir. |
| `authorization_blocked` | Zamanlama duraklatılmış, zamanlamanın sahibi artık etkin değil ya da zamanlamada rapor seçili değil. |
| `worker_interrupted` | Çalıştırma sırasında merkez sunucu durdu. |

> **Uyarı:**
**E-posta gönderimini etkinleştir** seçili değilse zamanlama rapor dosyasını oluşturur, ancak hiçbir yere göndermez. Çalıştırmalar `delivery_not_enabled` koduyla **Başarısız** olarak biter. Merkez sunucuda bu dosyayı indirebileceğiniz bir yer yoktur. Bu yüzden kullanacağınız her zamanlamada e-posta gönderimini açın.

## Duraklatın, yeniden başlatın, değiştirin

- Araç çubuğundaki **Devre dışı bırak** düğmesi zamanlamayı duraklatır. **Etkinleştir** düğmesi yeniden başlatır.
  Listede **Durum** sütununda **Etkin** ya da **Duraklatıldı** yazar.
- Saatte ya da raporda yaptığınız değişiklikler bir sonraki çalıştırmadan itibaren geçerli olur.

Zamanlama listesinde her zamanlamanın şu bilgileri görünür: **Rapor**, düz metin olarak **Zamanlama** ("Hafta içi her
gün 6:30"), **Durum**, **Gönderildiği yer** ("E-posta · kanal adı" ya da "Yalnızca uygulama içi"), **Son çalışma** ve
**Sonraki çalışma**.

## Rapor yerine Copilot özeti

**İçerik**, gönderimin neyi göndereceğini seçer: **Rapor** (varsayılan), **Copilot vardiya özeti** (son 8 saat) ya da
**Copilot haftalık sağlık raporu** (son 7 gün). Özet için rapor gerekmez; **Rapor** ve **Çıktı biçimi** gizlenir. Özet
ek olarak değil, e-postanın kendisi olarak gelir.

Özet, gönderimin sahibinin gördüklerini kapsar, tesis kapsamı dahil: haberleşmeyen cihazlar, bağlı olmayan uç
cihazlar, önceki dönemle karşılaştırmalı alarmlar, en çok alarm üreten kurallar ve cihazlar, açık kritik alarmlar ve
tüm tesisi gören sahipler için yapılandırma sorunları. Sayıları Proxus hesaplar. Sahip [Copilot](https://proxus.io/tr/docs/monitor/copilot)
kullanabiliyor ve o gün için tokenı kaldıysa, Copilot bunları merkez sunucunun dilinde yazıya döker (tokenlar sahibin
hesabına sayılır). Aksi halde aynı sayılar düz bir liste olarak gönderilir.

## Merkez sunucunun tamamı için ayarlar

```toml
[ScheduledDelivery]
# Email delivery is enabled by default; each schedule still requires its own opt-in.
ExternalDeliveryEnabled = true
# Automatic retry also requires a per-schedule retry limit from 1 to 3.
AutomaticRetryEnabled = false
# Zero disables artifact deletion.
ArtifactRetentionDays = 0
ArtifactCleanupIntervalHours = 24
```

| Anahtar | Varsayılan | Anlamı |
| --- | --- | --- |
| `ExternalDeliveryEnabled` | `true` | Tüm e-posta gönderimlerini tek seferde durdurmak için `false` yapın. |
| `AutomaticRetryEnabled` | `false` | **Otomatik yeniden deneme sınırı** tanımlanmış zamanlamalarda otomatik yeniden denemeyi açar. |
| `ArtifactRetentionDays` | `0` | Oluşturulan dosyaların silinmeden önce kaç gün saklanacağı. `0` değeri dosyaları silmez. En fazla 3650. |
| `ArtifactCleanupIntervalHours` | `24` | Eski dosyaların hangi sıklıkla silineceği. 1 ile 168 saat arası. |

Bu ayarlar ortam değişkeni olarak `ScheduledDelivery__ExternalDeliveryEnabled` biçiminde yazılır. Ayrıntılar için
[Yapılandırma anahtarları](https://proxus.io/tr/docs/reference/configuration) sayfasına bakın.

## Sonraki adımlar

- [Raporlar](https://proxus.io/tr/docs/analyze/reports): planlı gönderime uygun, parametresiz hazır raporlar.
- [Bildirim kanalları](https://proxus.io/tr/docs/connect/notification-channels): e-posta kanalını oluşturun ve test edin.
