راکت
حل شده

ارسال دو کد یکسان برای دو کاربر در یک زمان

5 پاسخ

سلام یه فروشگاه هست که وقتی کاربر خرید میکنه شماره سفارشش با متد curl ارسال میشه به یه api که کد تولید میکنه و اون کد رو به صورت پیامک به کاربر میفرسته. این کد چندین ماهه درست کار میکنه اما امروز دو تا کاربر که تو یه دقیقه خرید کردن براشون یه کد یکسان رفته!! البته قبلا هم کاربرایی بودن که تو تایم یکسان خرید کردن ولی این مشکل نبوده . کسی تجربه ای داره؟
@ali.bayat
@hesammousavi

pari.a
pari.a
@pari.a
ثبت پرسش جدید

پاسخ‌ها

5
محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

بهترین پاسخ

@pari.a
چک کردن لازمه برای اینکه کد تکراری ایجاد نشه.

jamshid
jamshid
@jamshid

ت که وقتی کاربر خرید میکنه شماره سفارشش با متد curl ارسال میشه به یه api که کد تولید میکنه و اون کد رو به صورت پیامک به کاربر میفرسته. این کد چندین ماهه درست کار میکنه اما امروز دو تا کاربر که تو یه دقیقه خرید کردن براشون یه کد یکسان رفته!! البته قبلا هم کاربرایی بودن که ت

محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

@pari.a
سلام.
کد هایی که تولید میشن رو در دیتابیس ذخیره کنید. بعد هرباری که کد جدید تولید میشه، چک کنید که قبلا وجود نداشته باشه.

شاید پاسخ شما همین‌جا باشد

pari.a
pari.a
@pari.a

@mohsenbostan
ممنون از پاسختون . کد های تولید شده داخل دیتابیس ذخیره میشن اما این چک کردن منطقیه؟و دیگه این مشکل پیش نمیاد؟چون تو یه ثانیه این اتفاقا افتاده

حسن حکمتی
حسن حکمتی
@hekmati

تخصص: برنامه نویس وب و بلاکچین

درود بر شما
اگر آی دی کاربر درست گرفته بشه نباید این اتفاق بی افته ، یه جایی توی گرفتن آی دی کاربر اشتباه وجود داره ، مثلا متغییر که آی دی رو داخلش ذخیره کردی ممکنه مقدار قبلی رو حفظ کرده باشه.
با این حال احتمال Output buffering خیلی زیاده می تونی تابع ارسال رو بین ob_start و ob_end_flush یا ob_clean قرار بده تا یه سیستم کش ایجاد بشه و بافر تخلیه بشه.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام