Task Scheduler ile.NET Uygulamalarında Periyodik İşler
.NET uygulamalarında bazı işleri belirli aralıklarla otomatik çalıştırmanız gerekebilir: veritabanı yedekleme, rapor oluşturma, günlük temizlik işleri gibi. Windows Task Scheduler bunu sağlamanın en basit yollarından biridir.
Task Scheduler, Windows'un yerleşik bir görev planlayıcısıdır. Bir.NET uygulamasını ya da konsol programını belirli saatlerde, günlerde veya koşullarda çalıştırabilir. Herhangi bir ek yazılım ya da üçüncü taraf kütüphanesi gerekmez.
Önce çalıştırılacak.NET konsol uygulamasını oluşturun. Basit bir örnek:
1using System;2using System.IO;34class Program5{6static void Main()7{8string logPath = @"C:\Logs\task_log.txt";9Directory.CreateDirectory(Path.GetDirectoryName(logPath));1011File.AppendAllText(logPath, 12$"Görev çalıştırıldı: {DateTime.Now:yyyy-MM-dd HH:mm:ss}\n");1314Console.WriteLine("İş tamamlandı.");15}16}Bunu derleyin ve çıktısını (örneğin C:\MyApp\TaskApp.exe) bir klasöre koyun.
- Başlat menüsünde "Task Scheduler" yazıp açın.
- Sağ panelde "Create Basic Task" (Temel Görev Oluştur) tıklayın.
- Görevin adını girin: "DailyBackup"
- Trigger (Tetikleyici) sekmesinde "Daily" seçin, saat olarak "02:00" ayarlayın.
- Action (İşlem) sekmesinde:
- Program:
C:\MyApp\TaskApp.exe - Start in:
C:\MyApp
- Finish deyip kaydedin.
Task Scheduler'da görevinize sağ tıklayıp "Run" seçerek hemen test edin. Log dosyasını kontrol ederek başarılı olup olmadığını görürsünüz:
1Görev çalıştırıldı: 2024-01-15 14:30:452Görev çalıştırıldı: 2024-01-16 02:00:02Eğer görev yönetim hesabı altında çalışacaksa, "Run with highest privileges" seçeneğini etkinleştirin. Ayrıca görevin başarısız olması durumunda bildirim almak için Conditions sekmesinde uygun seçenekleri ayarlayabilirsiniz.
Task Scheduler, basit periyodik işler için yeterlidir. Daha karmaşık zamanlama (dakika bazında tekrar, koşullu çalıştırma) gerekiyorsa Hangfire veya Quartz.NET gibi kütüphaneleri tercih edin.
0 yorum