Zamanlanmış Rapor ve E-posta Servisi
Günlük operasyon raporunu kendi üretip dağıtan .NET servisi. Tekrar eden bir elle işi tamamen ortadan kaldırdı.
Günlük operasyon raporları veritabanından elle çekilip Excel’e aktarılıyor ve e-posta ile dağıtılıyordu. Tekrar eden, unutulmaya açık ve kimsenin asıl işi olmayan bir görev.
Sunucuda sürekli çalışan, günün belirli saatinde raporu kendi üreten ve dağıtan bir servis yazıldı. Rapor gerektiğinde elle de tetiklenebilsin diye küçük bir HTTP ucu eklendi.
Asıl mesele uygulamanın uyumamasıydı: IIS varsayılan ayarlarında boşta kalan uygulamayı kapatır, bu da zamanlanmış işin hiç çalışmaması demektir. Uygulama havuzu AlwaysRunning ve Preload ayarları ile çözüldü, dağıtım rehberine de bu şekilde yazıldı.
// Detaylı anlatım
Yapılanlar
- Günlük çalışan arka plan işçisi ve rapor üretimi.
- Sorgu sonucundan biçimlendirilmiş Excel çalışma kitabı.
- SMTP üzerinden ekli e-posta dağıtımı.
- Rapor gerektiğinde çalıştırılabilen elle tetikleme ucu.
- Rapor kimliklerinin tutarlı üretimi için sıra servisi.
- Dosyaya kalıcı günlükleme — ekranı olmayan bir serviste ne olduğunu sonradan anlamanın tek yolu.
- Adım adım dağıtım rehberi; sunucuya kuracak kişinin geliştirici olmayabileceği varsayıldı.
Ölçek: ~1 hafta. Küçük, tek amaçlı ve doğru kurulduğunda bakım istemeyen bir servis.