PDA

View Full Version : جلوگری از اجرای موازی یک دستور php



takpar7
چهارشنبه 17 اردیبهشت 1393, 15:56 عصر
سلام و عرض ادب خدمت اساتید وب ایران
تو طراحی یک پروژه به یه مشکلی برخوردم اونم اجرای یک کوئری هستش که توسط خود کاربر با رفرش صفحه انجام میشه
این کووری باید حداقل خر 10 ثانیه یکبار اجرا بشه هیچ راهی پیدا نشد برا یانجام اینکار جز اینکه توسط خود کاربر انجام بشه
ولی مشکلی موقعی پیش میاد که چند کاربر همزمان اون کوئری رو اجرا بکنن اطلاعات برگشتی حاصل از اجرای اون کوئری بعضی وقت ها دو یا سه برابر میشه! و راهی هم وجود نداره برای اینکه کوئری مربوطه برای هر کاربر جدا اتفاق بیافته و فقط تیبل های مربوط به اون کاربرو بررسی کنه در کل سیستم پیچیده ای شده
من فقط میخوام شما عزیزان راهنمایی کنید که چجوری میتونم از جرای همزان این کوئی جلوگیری کنم با سپاس

plague
چهارشنبه 17 اردیبهشت 1393, 17:00 عصر
وقتی کسی فایل رو اجرا میکنه میتونی یه فایل بسازی رو سرور و وقتی اجرای کد به انتهاش رسید اون فایل پاک بشه از رو سرور
اینجوری میتونی در هراجرا اول چک کنی اون فایل وجود داره رو سرور یا نه در صورت وجود یعنی کسی دیگه ین اسکریپت رو اجرا کرده و اجازه اجرا به اسکریپت فعلی ندی

با دیتابیس هم قالب اجراست

takpar7
چهارشنبه 17 اردیبهشت 1393, 18:47 عصر
با سپاس از راهنماییتون
همین کار رو کردم ولی بازمنشد تعداد انجام این کار در هر ثانیه ست طوری که فکر میکنم اینه که چندین کاربر با هم صفحه رو رفرش میکنن و همون کوئری به صورت موازی و همزان در چندین نوبت اجرا میشه
از دیتابیس چطوری میشه؟
راهی نیست که بشه جلوی اجرای همزمان رو گرفت؟
سپاس

plague
چهارشنبه 17 اردیبهشت 1393, 19:38 عصر
دیتابیس هم همینه
تو دیتبایس درج میکنی وقتی کسی اجرا میکنه اسکریپت رو مثلا میتونی زمان اجرا رو ثبت کنی تو دیتابیس
بعد در هر اجرا چک میکنی ببینی زمان اجرای قبلی کی بوده ... مثلا اگه کمتر از 10 ثانیه بوده بهش اجازه اجرا نمیدی
در غیر اینصورت اجازه اجرا میدی و زمان فعلی رو به عنوان زمان آخرین اجرا میریزی تو دیتابیس