بهترین روش چک کردن روزانه تعداد زیادی از رکورد و جلوگیری ازفیلد شدن الکسیر

با درود خدمت خدمت عزیزان . ما حدودا یک ملیون رکورد داریم که فرض بفرمایید جدول کاربران می باشد . سه بار به مواردی از قبل تعیین شده باید تمام رکورد ها بررسی شود یکی از این دسته موارد

بررسی این هست که کاربران اگر ۳ ماه اکانت خود را فعال نکردن به صورت خودکار حذف شود . خوب سوال اصلی اینجا این هست که بهترین روش ارسال درخواست و اجرا این فانکشن مورد نظر چیست ؟

۱. آیا می شه این کار رو در زمان کوتاهی انجام داد ؟ مثلا می شه با ۱۲ الی بیشتر درخواست موازی انجام داد
۲. آیا می شود مثل تسک سوپروایزر در صورت خطا انقدر رفرش کند تا ما بقی رو انجام بدهد .
۳. آیا یکی از رکورد ها به خطا بخوره به هر صورت این عملیات قطع نشه و بره سر رکورد بعدی

دیتابیس پستگرس می باشد . زبان برنامه نویسی نیز الکسیر . داده های فعلی مثل اطلاعات عمومی پروفایل هاست .

با تشکر از دوستان پیشاپیش

1 پسندیده

این کارو با یک query ساده میشه انجام داد که چک کنه آخرین زمان لاگین و هر کسی بیشتر از سه ماه لاگین نکرده پاک کنه نیازی به سوپروایز اینا نیست

1 پسندیده

درود خدمت سام عزیز امید وارم حالت خوب باشه .

چطور می شه زمانشو کم کرد. فکر کنیم مثلا یک کوآری ساده بزنم فکر کنم از بالا به پایین تک به تک می یاد رکورد هارو بررسی می کنه بعید می دونم سرعت بالایی داشته باشه ؟

1 پسندیده

Query دیتابیس سریع ترین راه این کاره و یکی یکی داده هرو چک نمیکنه بلکه set تمامه داده ها که به شرایط query میخورن و پاک میکنه توسط index ها بسیار سریع انجام میشه شاید کمتر از 30 ثانیه

2 پسندیده

سام عزیز به نکته ای اشاره کردید که اون ایندکس های سریع بود . من ایمیل و شناسه کاربرم به صورت مثال ایندکس شده است زمان آبدیت بنده ایندکس نیست آیا باید این مورد هم ایندکس بشود ؟

بله چون query ازش استفاده میکنه

1 پسندیده

خارج از موضوع اصلی!
بنظر من حساب soft delete یا غیر فعال بشه بهتره, اگر لازمه که اتفاق خاصی بعداز غیر فعال شدن بیوفته میشه از یک background process که روزی یک بار رکوردهای موردنظرو غیر فعال یا پاک میکنه استفاده کرد.
اگر قرار نیست که اتفاق خاصی بعد از غیر فعال شدن بیوفته و قرار نیست حساب کاربری حذف بشه یا در کل side effect خاصی وجود نداره، میتونید به این صورت عمل کنید که اگر کاربر بعد از بیش از سه ماه لاگین کرد غیر فعال بشه و در حسابش این موضوع رو ببینه یا اصلا نتونه لاگین کنه و ایمیل یا نوتیفیکیشی چیزی دریافت کنه که دیگه نیازی به ایندکس و background process هم نیست که کلی باعث سادهتر شدن کار میشود :hugs:

3 پسندیده