Dotnetcore ve Hangfire kullanımı

Barış Can Yılmaz
Bursa I/O
Published in
2 min readJan 11, 2020
Photo by NeONBRAND on Unsplash

Hangfire arka planda görevlerinizi zamanlayabileceğiniz açık kaynak bir kütüphane. Bu yazıda dotnet core konsol projemize ekleyeceğiz.

İlk olarak .net core console projemizi oluşturuyor ve gerekli paketeri projemize ekliyoruz.

Projemiz de Hangfire’ın kullanacağı database’i tanımlıyoruz.

Hangfire’ın ücretsiz versiyonu 4 farklı job tanımlamamıza izin verir.

Fire-and-Forget Jobs

Fire-and-Forget joblar oluşturulduktan sonra bir kereliğine çalışır.

Recurring Jobs

Recurring joblar belirli bir zaman aralığında tekrarlanan işlemler de kullanılır.

Delayed Jobs

Belirli bir tarihte veya birkaç gün,dakika, saniye vb birimler sonra çalışmasını iztediğiniz görevler için kullanılır.

Continuations

Parent olarak tanımlanan job bittikten sonra çalışmasını istediğiniz devam olarak çalışacak joblar için kullanılır.

Recurring joblar Func<string> tipinde parametre aldıkları için Cron yardımcı sınıfı sayesinde Daily,Monthly gibi methodlar seçilebilir. Eğer Cron.Daily merhoduna parametre verilmez ise UTC zamana göre 00:00 da ilgili joba atanmış görevi çalıştırır.

Delayed joblar parametre olarak TimeSpan tipinde yada DateTimeOffset tipinde veri alırlar. TimeSpan ile belirli bir saniye,dakika veya güden geri sayım yaptırırken DateTimeOffset spesifik bir tarihte jobı çalıştırmamızı sağlar. Buradan DateTimeOffset hakkında daha fazla bilgi alabilirsiniz.

Proje github linki:

Yararlanılan kaynaklar:

LinkedIn|Email|GitHub|Twitter|Medium|BursaIO

--

--