Bu proje, .NET Core 8 ile geliştirilmiş Hangfire tabanlı worker servisleri içerir. PostgreSQL veritabanını kullanarak background job'ları yönetir.
-
EmailWorkerService: Email gönderimi ile ilgili background job'ları çalıştırır
- Günlük email raporu gönderimi (Cron: Her gün)
-
NotificationWorkerService: Bildirim gönderimi ile ilgili background job'ları çalıştırır
- Saatlik bildirimler (Cron: Her saat)
- Haftalık özet bildirimleri (Cron: Her Pazar)
-
HangfireDashboard: Tüm job'ların izlenebildiği ve yönetilebildiği web arayüzü
- .NET 8 SDK
- PostgreSQL
hangfire
adında bir PostgreSQL veritabanı
- PostgreSQL'i kurun ve çalıştırın
hangfire
adında bir veritabanı oluşturun:
CREATE DATABASE hangfire;
- Connection string'i kendi PostgreSQL kurulumunuza göre güncelleyin:
- Her bir servisin
appsettings.json
dosyasında bulunan connection string'i düzenleyin:
{ "ConnectionStrings": { "DbConnection": "Host=localhost;Port=5432;Database=hangfire;Username=postgres;Password=qasx7865" } }
- Her bir servisin
İki yöntemle çalıştırabilirsiniz:
start-services.bat
dosyasını çalıştırın- Tüm servisler otomatik olarak başlatılacaktır
- Dashboard'a erişmek için: http://localhost:5000/hangfire
- Servisleri kapatmak için batch dosyası penceresinde herhangi bir tuşa basın
Her bir servisi ayrı terminal penceresinde çalıştırın:
# Dashboard
cd HangfireDashboard
dotnet run
# Email Worker Service
cd EmailWorkerService
dotnet run
# Notification Worker Service
cd NotificationWorkerService
dotnet run
Hangfire Dashboard'a erişmek için tarayıcınızda şu adresi açın: http://localhost:5000/hangfire
Dashboard üzerinden:
- Job'ların durumunu izleyebilir
- Başarısız job'ları yeniden çalıştırabilir
- Job'ların zamanlamalarını değiştirebilir
- Yeni job'lar ekleyebilirsiniz