سلام من میخوام هروقت که دیتایی توی جدول ذخیره میشه برای یک کاربر با آی دی اینزرت شده اس ام اس بفرستم
مشکل من اینجاست که چجوری بفهمم چه زمانی دیتایی اینزرت شده. یعنی یه جورایی باید هرثانیه اون جدول چک بشود و اگر اینزرتی اتفاق افتاده بود api رو صدا کنم.
ممنون میشم اگر راه حلی دارید بگید.
سلام عزیز
من نظر خودم رو راجب موضوعی که فرمودید میگم امیدوارم از جنبه ی تجربه و این ها بهش نگاه کنید صرفا نظر هست
در مرحله اول که پیام کردن پشت سر هم همچین چیزی واقعا کار جالبی نیست بهتره یه سامانه گزارش گیری یا صفحه خاصی براش طراحی کنی
ولی جدای از اون
اصلا این که هر بار جدول رو بخایی چک کن هم اشتباهه چون سیستم درگیر میشه
اگر اونقد زیاده این عمل درج پیامک کردنش اشتباهه اگر اونقدر کمه این درج بازم چک کردن همیشش اشتباهه
بازم که بگذریم از این موضوع قطعا دلیلی داره که دارید این کار رو میکنید و خب حتما هم منطقیه از دید خودتون
راه حلی که میتونم پیشنهاد بدم اینه که یه helper یا یه کلاس برا خودت تعریف کنی
اسم جدول و چند داده ای که برات مهم هست که میخوایی پیامک بشه رو به اون ارسال کنی و عمل پیامک رو انجام بدی اونجا (میتونی یک کانال و یک notification بسازی برای این کار )
هر جایی که توی پروژت عمل درج داری این کلاس یا کانال رو صدا میزنی و پیامک رو ارسال میکنی
شما ممکنه ده یا بیست ناحیه یا کنترلر برای عمل درج داشته باشی
اوونجا دستی قرار بده تا الکی سیستم درگیر چیزی نشه و دیتابیس مشغول نکنی
موفق باشید
میتونید انتهای همون فانگشن که داره اطلاعات فرم تون رو وارد دیتابیس میکنه فانگشن ارسال پیامک رو هم بزارید و نیاز به چک کردن هر لحظه دیتابس و درگیر کردن سرور نیست
اگر خواسته باشیم یکم لاراولی تر هم به قضیه نگاه کنیم:
میتونید از Model Observer ها استفاده کنید. همونجوری که از اسمشون مشخصه، حواسشون به مدل تعیین شده شما هست و مثلا میگید هر وقت یک رکورد جدید برای این مدل ایجاد شد این اقدامات رو پشت بندش انجام بده.
میتونید در observerتون از Notification های لاراول استفاه کنید و با استفاده از syntax های مرتبط با اون به کاربران مورد نظرتون Notification (در مثال شما از نوع SMS) ارسال کنید.
و در پایان برای بالا بردن تجربه کاربری مخاطبینتون و همچنین جلوگیری از یک سری مشکلات، پیشنهاد میکنم برای Notification هاتون هم حتما از ساز و کار Queue یا همون صف بندی استفاده کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟