برای طراحی یک سیسم پایدار همواره باید بتوانید نسبت به خطاها و اتفاقات ناخواسته رفتار مشخصی را در برنامه خود داشته باشید. از این رو استراتژیهای متفاوتی از جمله timeout، retry، fallback و ... وجود دارند.
حال در برنامه شما نیز یک کلاس به نام Avalanche
وجود دارد که وظیفه مدیریت این قابلیتها را بر عهده گرفته است و شما وظیفه دارید این قابلیتها را پیادهسازی کنید.
برای دانلود فایل پروژه بر روی این لینک کلیک کنید
مهلت زمانی - Timeout: در این تابع شما باید کدی را توسعه دهید که یک عملیات را با یک مهلت زمانی مشخص دریافت کند. در صورتی که اجرای عملیات کمتر از مهلت زمانی به طول انجامید تابع مقدار true
و در غیر این صورت مقدار false
را برگرداند.
تلاش مجدد - Retry: در این تابع شما کدی را توسعه میدهید که برای اجرای عملیات به تعداد دفعات دادهشده در فواصل زمانی مشخص و ثابت تلاش میشود. در صورتی که عملیات با موفقیت اجرا شود تابع مقدار true
و در غیر اینصورت مقدار false
بر خواهد گرداند.