وقتی زمان تسک بیشتر از اون محدودیت تعیین شده باشه چه اتفاقی میوفته؟ نصفه انجام میده؟ یا تغییرات رول بک میشه؟ این رو توضیح میدید؟
سلام،
اگر از soft_timeout استفاده کنید، تسک کامل لغو نمیشود، اما به عنوان "timed out" علامتگذاری میشود. یعنی پس از گذشت زمان مشخص شده، یک سیگنال TimeoutError به تسک ارسال میکند. شما باید در کد تسک، دستورات لازم برای پردازش این سیگنال و انجام عملیات روبک (rollback) رو پیادهسازی کنید.
اگر از hard_timeout استفاده کنید، تسک به طور کامل لغو شده و از صف Celery حذف میشود و در این حالت، هیچ کد rollback ای اجرا نمیشود و تغییرات انجام شده توسط تسک ممکن است ناقص باقی بمانند.