یک فریم ورک opensource که هدفش ایجاد و مدیریت و پردازش background job هاست و پیاده سازی راحتی دارد.که در .Net و برنامه های .Net ی استفاده می شود.
منظور job ی هست که تنها یک بار و فوری اجرا می شود
منظور job ی که تنها یکبار اجرا میشه ولی فوری نیست بلکه بعد از یک وقفه ای اتفاق می افتد
منظور job ی است که طی یک زمانبندی و دفعات زیاد اتفاق می افتد
وقتی job والد تموم می شه این job اجرا میشه
یه گروه job هستند که به صورت اتوماتیک ایجاد می شوند
وقتی اجرا می شود که همه background job ها که در parentهستند تمام شوند
چرا به Background process نیاز داریم
تا بتوانیم در طول عمر یه application کارهایی که لازم هست رو به صورت background انجام بدیم.
این جاب ها بسیار مهم هستند و هنگ فایر مطمئن میشه که یه جاب حداقل یه بار اجرا شده و تمام اطلاعات مربوط به background job در یک دیتابیس مطمئن ذخیره میشه و انواع storage هایی که پشتیبانی می کنه
Sqlserver, Redis ,In-Memory(Preview) , NoSql
اگر مشکلی پیش بیاد در طول اجرا ، با یه تاخیری اتومات خودش ان را اجرا می کنه و از موارد زیر جلوگیری می کند
با استفاده از owin extension یه سیستم مانیتورینگ رو ایجاد کرده است و نیاز به معماری خاصی برای پیاده سازی ندارد. با یه تنظیم راحت می شه اون را استفاده کرد.
می توان به جای اینکه ترد رو همان موقع اجرا کنیم اون رو به تعویق بندازیم ، به جای اینکه انها توی صف برای اجرا قرار بگیرند اجراشون زمانبندی می شود
به جای اجرای همزمان متدها آنها را در یک صف قرار می دهد و worker مربوط به hangfire اون ها را اجرا می کند
می توان به جای اینکه ترد رو همان موقع اجرا کنیم اون رو به نعویق بندازیم ، به جای اینکه انها توی صف برای اجرا قرار بگیرند اجراشون زمانبندی می شود
به صورت همزمان می تونه چندین صف رو اجرا کنه که می تونیم برای اجرای اون اولویت بندی کنیم
ASP.NET application. console application, Windows Service, or anywhere else.