سپیده دلیرپور
سپیده دلیرپور
خواندن ۲ دقیقه·۱ سال پیش

ویژگی های Hangfire

یک فریم ورک opensource که هدفش ایجاد و مدیریت و پردازش background job هاست و پیاده سازی راحتی دارد.که در .Net و برنامه های .Net ی استفاده می شود.


انواع Background Job ها

  • Fire and forget

منظور job ی هست که تنها یک بار و فوری اجرا می شود

  • Delayed

منظور job ی که تنها یکبار اجرا میشه ولی فوری نیست بلکه بعد از یک وقفه ای اتفاق می افتد

  • Recurring

منظور job ی است که طی یک زمانبندی و دفعات زیاد اتفاق می افتد

  • Continuations

وقتی job والد تموم می شه این job اجرا میشه

  • Batches

یه گروه job هستند که به صورت اتوماتیک ایجاد می شوند

  • Batch Continuations

وقتی اجرا می شود که همه background job ها که در parentهستند تمام شوند

چرا به Background process نیاز داریم

تا بتوانیم در طول عمر یه application کارهایی که لازم هست رو به صورت background انجام بدیم.

انواع storage در HangFire

این جاب ها بسیار مهم هستند و هنگ فایر مطمئن میشه که یه جاب حداقل یه بار اجرا شده و تمام اطلاعات مربوط به background job در یک دیتابیس مطمئن ذخیره میشه و انواع storage هایی که پشتیبانی می کنه

Sqlserver, Redis ,In-Memory(Preview) , NoSql

ویژگی های HangFire

  • Automatic Retries

اگر مشکلی پیش بیاد در طول اجرا ، با یه تاخیری اتومات خودش ان را اجرا می کنه و از موارد زیر جلوگیری می کند

  • Exceptions
  • Application shutdowns
  • Unexpected process terminations

Integrated Monitoring UI

با استفاده از owin extension یه سیستم مانیتورینگ رو ایجاد کرده است و نیاز به معماری خاصی برای پیاده سازی ندارد. با یه تنظیم راحت می شه اون را استفاده کرد.

  • Delayed Method Invocation

می توان به جای اینکه ترد رو همان موقع اجرا کنیم اون رو به تعویق بندازیم ، به جای اینکه انها توی صف برای اجرا قرار بگیرند اجراشون زمانبندی می شود

  • Queue-based Processing

به جای اجرای همزمان متدها آنها را در یک صف قرار می دهد و worker مربوط به hangfire اون ها را اجرا می کند

  • Delayed Method Invocation

می توان به جای اینکه ترد رو همان موقع اجرا کنیم اون رو به نعویق بندازیم ، به جای اینکه انها توی صف برای اجرا قرار بگیرند اجراشون زمانبندی می شود

  • Multiple Queue Processing

به صورت همزمان می تونه چندین صف رو اجرا کنه که می تونیم برای اجرای اون اولویت بندی کنیم

  • Process Jobs Anywhere

ASP.NET application. console application, Windows Service, or anywhere else.

https://www.hangfire.io/



فریم ورکopensource
شاید از این پست‌ها خوشتان بیاید