
08 شهریور 1404 / 1072 بازدید / 3 دقیقه
در عصر حاضر، نرمافزار تنها به رابط کاربری، فرمهای ورود و ذخیره اطلاعات محدود نمیشود. برای توسعهی نرمافزاری که هدف آن ارتقاء، تسریع و بهبود عملکرد یک سازمان یا کسبوکار است، صرفاً تعامل کاربر با نرمافزار کافی نیست. وظایف و عملیاتی وجود دارد که ماهیتی متفاوت از تعامل مستقیم با کاربر دارند یا نیازمند پردازشهای سنگینتر از عملیات CRUD هستند. مواردی مانند پایش هزاران رکورد در بانک اطلاعاتی برای انجام عملیات خاص، تولید گزارشهای سنگین، یا اجرای دستورات زمانبندیشده حتی در زمانی که کاربر هیچ تعاملی با سیستم ندارد، از این دستهاند. در این مقاله به معرفی فریمورک Hangfire برای پیادهسازی عملیات Background Job در پلتفرم .NET میپردازیم.
بسته به نیاز، عملیات پسزمینهای را میتوان در دستههای زیر جای داد:
برای پیادهسازی Background Job در اکوسیستم .NET گزینههای مختلفی وجود دارد. از جمله:
در میان این گزینهها، Hangfire بهدلیل پشتیبانی از تقریباً تمام انواع Background Job و همچنین ارائهی پنل پایش و مدیریت وضعیت و تاریخچهی اجرای کارها، محبوبیت بالایی دارد.
البته باید توجه داشت که این فریمورک بیشتر برای پروژههای با مقیاس متوسط و بزرگ مناسب است. در پروژههای سبکتر، گاهی استفاده از قابلیتهای داخلی .NET انتخاب منطقیتری خواهد بود.
برای نگهداری اطلاعات، وضعیت، زمانبندی و لاگ عملیاتها، Hangfire نیازمند یک فضای ذخیرهسازی است.
بهطور پیشفرض Hangfire از پایگاههای داده و ذخیرهسازهای زیر پشتیبانی میکند:
انتخاب هریک از این گزینهها بستگی به معماری و نیازهای پروژه دارد. بهطور کلی:
در این مقاله با فریمورک Hangfire و ویژگیهای آن برای اجرای Background Job در پلتفرم .NET آشنا شدیم. برای یادگیری عمیقتر و پیادهسازی عملی، مطالعهی مستندات رسمی Hangfire توصیه میشود.