تغيير در بانك اطلاعاتي بعد از گذشت زمان معين

karevan

Member
سلام
من ميخوام با عضويت كاربر توي سايت تاريخ عضويت ثبت بشه و بعد از گذشت 1 ماه از اين تاريخ به طور خودكار كاربر حذف بشه!

آيا تابع يا روشي وجود داره كه بتونم اين كار رو باهاش انجام بدم؟
(تغيير در بانك اطلاعاتي بعد از گذشت زمان معين)
 

Dark Man

Member
شما باید یک اسکریپت که چنین کاری رو انجام میده بنویسید و با استفاده از ابزار Cron Job تعیین کنید که هر ماه این اسکریپت اجرا شود.
 

oxygenws

Active Member
نه!!
دقیقا این چیزی که می خوای، نه، نمیشه....
ولی شاید بتونی ---منطقی--- این کار رو انجام بدی. (برای توضیح بیشتر این مورد، بیشتر توضیح بده!!)
 

mazoolagh

Active Member
از روي كنجكاوي ميپرسم كه:

آيا نميشه يك stored procedure نوشت كه هر موقع اجرا بشه هر اكانتي رو كه بيشتر از يكماه پيش از زمان اجرا ايجاد شده رو حذف كنه - و با cron jobs اون رو هر روز اجرا كرد؟
 

karevan

Member
ممنون از راهنماییتون
Dark Man جان ممکنه در مورد Cron Job بیشتر توضیح بدین؟
اینم توضیح کل کاری که میخوام انجام بدم:
مثلا من یه سایت دارم که یه بخش تبلیغات داره من میخوام که اون کاربری که عضو میشه برای گذاشتن تبلیغات
طبق اون پولی که میده یه مدت به اون اجازه ورود به قسمت مدیریت تبلیغات رو بدم.
و بعد از اون مدت دسترسی کاربر به اون قسمت قطع بشه.
همین
 

Dark Man

Member
ابزار Cron Job در لینوکس ،مثل Scheduled Task در ویندوز عمل میکنه و برنامه های مورد نظر شما رو در زمانهای معین اجرا میکنه.
و برای اینکاری که میخوای انجام بدی ، چنین چیزی لازم نیست اصلا ، شما تاریخ عضویت رو تو یه فیلد در بانک اطلاعاتی ذخیره میکنی و هربار که کاربر خواست با وارد بخش بشه ( هنگام Login ) این تاریخ رو با تاریخ فعلی مقایسه میکنی و اگر فاصله این 2تا بیشتر از یک ماه بود ،اجازه ورود رو به کاربر نمیدی ...
 

Salman_MP

Member
آخرین نفر دروغ گفت !

با عرض معذرت از آقا سیاه، اگر این دوستمون میخواست اطلاعات رو نگه داره که نگه میداشت ! یحتمل میخواد جای اضافی مصرف نکنه. یعنی بعد از یه ماه دیگه خودش پاک شه نه اینکه اگه طرف رفت و 7 سال دیگه اوومد راهش نده.
 

Dark Man

Member
این اطلاعات فکر نکنم بیشتر از 5.4 کیلوبایت حجم بگیره .

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

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

golden

Member
روشی که mazoolagh گفت جواب میده.
حالا اگه از mysql 5 استفاده نمی کنی به جای stored procedure میتونی خودت sql command را هر بار بفرستی.
 

karevan

Member
ممنون از راهنمايي هاتون

mazoolagh گفت:
آيا نميشه يك stored procedure نوشت كه هر موقع اجرا بشه هر اكانتي رو كه بيشتر از يكماه پيش از زمان اجرا ايجاد شده رو حذف كنه - و با cron jobs اون رو هر روز اجرا كرد؟

اگه ممكنه يكي بگه چطوري ميتونم از اين روش استفاده كنم؟!
 

oxygenws

Active Member
منظور من هم صحبت dark man بود :) (در حقیقت می خواستم همون رو بگم :) )
و در نهایت فکر می کنم استفاده از کرون جاب زیاد جالب نباشه!! باید سعی بشه تا جایی که ممکنه از کرون جاب (یا امثالهم) استفاده نشه :)
 

karevan

Member
اگه یه نفر برای من یه توضیح کاملی درمورد « کرون جاب و امثالهم» بداد خیلی خوب میشد!
 

oxygenws

Active Member
اگه یه نفر برای من یه توضیح کاملی درمورد « کرون جاب و امثالهم» بداد خیلی خوب میشد!
توانایی جستجوی انجمن ها رو داری؟؟ یا باید برات بگردیم؟؟ فکر کنم اگر کمی هم خودت تلاش کنی بد نباشه :)
 

mazoolagh

Active Member
Dark Man گفت:
اگر هم شما بخواید این اطلاعاتو پاک کنید زمانی که کاربر لاگین کرد ، و تاریخ مقایسه شد و به کاربر اجازه ورود داده نشد ، اطلاعات هم پاک بشه . این ساده ترین راه هست که من گفتم.

بنظر مياد اين راه از همه سر راست تر و بهتر باشه!
 

karevan

Member
oxygenws جان مگه من مرض دارم مزاحم شما بشم؟
خوب حتما گشتم و چیزی پیدا نکردم!
mazoolagh جان اگه کاربر تا 4 سال لاگ این نکرد تکلیف تبلیغاتی که توی سایت من داره چیه من میخوام بعد از مدت معین تبلیغاتش حذف بشه!
بازم اگه یکی در مورد « کرون جاب و امثالهم» منو راهنمایی کنه ممنون میشم.

oxygenws گفت:
منظور من هم صحبت dark man بود :) (در حقیقت می خواستم همون رو بگم :) )
و در نهایت فکر می کنم استفاده از کرون جاب زیاد جالب نباشه!! باید سعی بشه تا جایی که ممکنه از کرون جاب (یا امثالهم) استفاده نشه :)
چرا استفاده از كرون جاب جالب نيست؟
 

oxygenws

Active Member
چون وابسته به چیزی خارج از سیستمی که نوشتی میشی، این یعنی احتمال خطا، یعنی پایین اومدن stability و ...
در مورد کرون، خود من چندین بار جواب دادم!!!
 

karevan

Member
ممنون ار راهنماییتون
اما اگه از کرون استفاده نکنم راه دیگه ای هم برای انجام این کار هست؟
 

karevan

Member
اون روشی که darkman گفته یه مشکل داره اوونم اینه که:
ممکنه کاربر تا چند سال لاگ این نکنه و اطلاعاتش(تبلیغات) توی سایت بمونه
 

karevan

Member
آیا روشی بغیر از کرون وجود داره برای این کار؟
مثلا مثل پرتال سیکما که بعد از اتمام مدت اعتبار سرویس به کاربر ایمیل اختار می فرسته!
این کار به صورت خود کار انجام میشه.
آیا این کار با کرون انجام میشه یا روش دیگه ای هم هست؟
 

جدیدترین ارسال ها

بالا