Skip to content

selmansahin/hangfire_arge

Repository files navigation

Hangfire Worker Services

Bu proje, .NET Core 8 ile geliştirilmiş Hangfire tabanlı worker servisleri içerir. PostgreSQL veritabanını kullanarak background job'ları yönetir.

Projeler

  1. EmailWorkerService: Email gönderimi ile ilgili background job'ları çalıştırır

    • Günlük email raporu gönderimi (Cron: Her gün)
  2. 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)
  3. HangfireDashboard: Tüm job'ların izlenebildiği ve yönetilebildiği web arayüzü

Gereksinimler

  • .NET 8 SDK
  • PostgreSQL
  • hangfire adında bir PostgreSQL veritabanı

Kurulum

  1. PostgreSQL'i kurun ve çalıştırın
  2. hangfire adında bir veritabanı oluşturun:
CREATE DATABASE hangfire;
  1. 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"
      }
    }

Çalıştırma

İki yöntemle çalıştırabilirsiniz:

1. Batch Dosyası ile (Önerilen)

  • 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

2. Manuel Olarak

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

Job'ları İzleme

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published