راکت
pari.a
pari.a
توسط pari.a مطرح شد
حل
5 پاسخ

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

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


ثبت پرسش جدید
محسن بستان
محسن بستان
تخصص :Senior Backend Developer
@mohsenbostan6 سال پیشمطرح شد
0

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


jamshid
jamshid
@jamshid6 سال پیشمطرح شد
0

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


محسن بستان
محسن بستان
تخصص :Senior Backend Developer
@mohsenbostan6 سال پیشمطرح شد
0

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


pari.a
pari.a
@pari.a6 سال پیشمطرح شد
0

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


محسن بستان
محسن بستان
تخصص :Senior Backend Developer
@mohsenbostan6 سال پیشمطرح شد
0

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


حسن حکمتی
حسن حکمتی
تخصص :برنامه نویس وب و بلاکچین
@hekmati6 سال پیشمطرح شد
0

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


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

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