pari.a
4 سال پیش توسط pari.a مطرح شد
3 پاسخ

ارسال پیام موجودی کیف پول در لاراول

سلام . یه سایت فروشگاهی هست که ارز دیجیتال میفروشه و چند تا ادمین داره . حالا من میخوام اگر مقدار ارز به کمتر از 500 دلار رسید به ادمین ها پیامک ارسال کنه و همینطور اگر این مقدار 100 تا 100 تا کم شد مجدد پیام بده مثلا به 300-400 رسید که دقیقا به این عدد نمیرسه و کمی کمتر یا بیشتر از این میشه. این سیستم رو چطور بنویسم بهتره؟نمیخوام اطلاعات ارسال شده داخل دیتابیس ذخیره شن و به کاربری داخل یه بازه 100 دلاری بیشتر از یه بار پیام بره


ثبت پرسش جدید
وحید
تخصص : Fullstack
@forughi.vahid 4 سال پیش آپدیت شد
0

@pari.a
فرض کنید کاربر اومد و 2 دلار خرید کرد، شما قبل از بروزرسانی مقدار کیف پول رو get میکنید ، مثلا 501 دلاره. خوب اگر 501 بیشتر از 500 بود که اینجا هست ، 501 رو منهای 2 میکنید اگر کمتر از 500 شده بود که توی این مثال میشه 499 ، خوب پیام رو ارسال میکنید و تیبل هم آپدیت می کنید . عملا اگر 501 زیر 500 باشه پیام دوباره ارسال نمیشه ، فقط وقتی پیام ارسال میشه که تغییر وضعیت داده باشه از بالای 500 به پایین 500. اگر تعداد تراکنش ها خیلی زیاد باشه و درخواست کاربرا روی هم بیفته یجوری که توی زمانی که شما دیتارو get کردید تا قبل از اینکه آپدیت کنید توی درخواست کاربر دیگه هم دیتا get بشه ، در این حالت پیام دو بار ارسال میشه ، برای اینکه این اتفاق نیفته یا باید سرعتتون خیلی بالا باشه که برای اینکار میتونید از کش استفاده کنید که باز هم کامل رفع نمیشه . یا اینکه یه فلگ ست کنید .
برای اینکه سر هر تراکنش مجبور نباشید دیتابیس رو چک کنید که هم فشار روی تیبل کم بشه و هم سرعتتون بیشتر بشه میتونید در کنار این داستان از کش هم استفاده کنید .


وحید
تخصص : Fullstack
@forughi.vahid 4 سال پیش مطرح شد
0

@pari.a
هر بار مقدار کیف پول رو آپدیت میکنید چک کنید اگر کمتر بود پیامکتون رو ارسال کنید ، بهتره از job استفاده کنید تا کاربر معطل ارسال پیامک نمونه. برای اینکه نیازی نباشه چیزی تو دیتابیس ذخیره کنید ، قبل و بعد از آپدیت رو چک میکنید هر بار توی مرز بود و کمتر شده بود پیام رو ارسال میکنید.


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

@forughi.vahid
ببینید کاربرا هر دقیقه در حال خرید هستن و بابت هر خرید موجودی کیف پول اپدیت میشه .من میخوام به ادمین پیام تکراری نره و تو هربازه یه پیام باشه ممکن هست تو چند تا تراکنش پشت سر هم کاربرا یه دلار خرید کنن اونوقت تکراری میشه نمیدونم حافظه کش بهتره یا نه!


وحید
تخصص : Fullstack
@forughi.vahid 4 سال پیش آپدیت شد
0

@pari.a
فرض کنید کاربر اومد و 2 دلار خرید کرد، شما قبل از بروزرسانی مقدار کیف پول رو get میکنید ، مثلا 501 دلاره. خوب اگر 501 بیشتر از 500 بود که اینجا هست ، 501 رو منهای 2 میکنید اگر کمتر از 500 شده بود که توی این مثال میشه 499 ، خوب پیام رو ارسال میکنید و تیبل هم آپدیت می کنید . عملا اگر 501 زیر 500 باشه پیام دوباره ارسال نمیشه ، فقط وقتی پیام ارسال میشه که تغییر وضعیت داده باشه از بالای 500 به پایین 500. اگر تعداد تراکنش ها خیلی زیاد باشه و درخواست کاربرا روی هم بیفته یجوری که توی زمانی که شما دیتارو get کردید تا قبل از اینکه آپدیت کنید توی درخواست کاربر دیگه هم دیتا get بشه ، در این حالت پیام دو بار ارسال میشه ، برای اینکه این اتفاق نیفته یا باید سرعتتون خیلی بالا باشه که برای اینکار میتونید از کش استفاده کنید که باز هم کامل رفع نمیشه . یا اینکه یه فلگ ست کنید .
برای اینکه سر هر تراکنش مجبور نباشید دیتابیس رو چک کنید که هم فشار روی تیبل کم بشه و هم سرعتتون بیشتر بشه میتونید در کنار این داستان از کش هم استفاده کنید .


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

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