PDA

View Full Version : ارسال پیامک در تعداد بالا



masoud_z_65
شنبه 11 آذر 1391, 09:57 صبح
با سلام خدمت استادان عزیز
من توی برنامم از سرویس ارسال پیامک استفاده میکنم اما قبل از استفاده از سرویس ارسال پیامک خودم یه موجودیت به اسم SMS درست کردم و اطلاعات رو توی دیتابیس میریزم و بوسیله تایمر اینکار رو انجام میدم.....
مشکل اینجاست که وقتی تعداد پیامک ها بالا میره سرورم خطا میده
البته هنوز برای مشتری نصب نکردم اما روی سرور خودم به صورت لوکال که تست میکنم سرورم خطا میده و Stop میشه که نمیدونم دلیل از چی میتونه باشه اما به احتمال زیاد به خاطر استفاده از تایمر هستش اما نمیدونم چیکار کنم!

masoud_z_65
شنبه 11 آذر 1391, 10:16 صبح
تایمر رو برا این گذاشتم که اگه ارسال ناموفق بود باز هم سعی کنه برا ارسال و تعداد سعی رو خودم بهش میدم مثلا میگم 3 بار در صورت ناموفق بودن ارسال پیامک تلاش کنه

masoud_z_65
یک شنبه 12 آذر 1391, 08:50 صبح
یعنی کسی نیست بتونه منو راهنمایی کنه؟!

AmirGhasemi
یک شنبه 12 آذر 1391, 10:01 صبح
سلام دوست عزيز
شما از وب سرويس استفاده ميكنيد؟؟؟ اگر جوابتون بله است از وب سرويس كجا؟
در ضمن مشكل اصلي شما هم همين تايمر است! شما براي چك كردن عدم ارسال نيازي به تايمر نداريد فقط يك چيزي به اسم فلگ درست كنيد با بالاماندن آن فلگ مي توانيد مجدد ارسال كنيد
من خودم وب سرويس هاي زيادي براي پنل پيامك خودم نوشته ام

masoud_z_65
یک شنبه 12 آذر 1391, 13:08 عصر
ممنون آقا امیر
بله از وب سریوس یک شرکت استفاده میکنم(تبلیغ نشه نگفتم)
بله فلگ هست اما اون وب سرویس فقط یکبار میفرسته چه موفق باشه و چه ناموفق
من میخوام اگه ناموفق بود توی بازه زمانی خاص باز بفرستمش
مجبور شدم از تامیر استفاده کنم که بگم مثلا هر یک ثانیه یکبار باز تلاش کنه برا فرستادن

masoud_z_65
یک شنبه 12 آذر 1391, 13:11 عصر
ببینید دوستان حتما میخوام با تایمر باشه که بهش بگم هر 5 ثانیه یک بار تلاش کنه که پیامک رو در صورت ناموفق بودن ارسال کنه.....حالا این کارم مشکلی ندارم باهاش.....اما مشکل اینجا پیش میاد که تعداد پیامک ها که زیاد میشه مثلا بالای 500تا که میشه سرورم stop میشه...البته برای مشتری هنوز نزاشتم اما روی سیستم خودم سرورم استاپ میشه و بسته میشه.....
نمیدونم منظورمو خوب رسوندم یا نه

sanay_esh
یک شنبه 12 آذر 1391, 13:18 عصر
سلام ...

دوست عزیز ابتدا معماری سیستم خودت را کمی شرح بده .. تعریف از سرور ... و از این قبیل اصطلاحات ..

بعد بتونیم به شما راه حل مطمئن و ساختاری صحیح معرفی کنیم ...

تمام صحبتهای شما رو مطالعه کردم و لی باید ابتدا بدونم چیکار دارید میکنید

البته ااگه از وب سرویس استفاده میکنید تمامی مواردی که مطرح کردید را به راحتی میتوانید کنترل کنید حال اینکه این وب سرویسی که شما استفاده میکنید باید بالای مثلا 500 پیامک را بپذیرد و ...

لطفا کامل و با جزئیات شرح دهید

masoud_z_65
یک شنبه 12 آذر 1391, 16:19 عصر
ببینید دوست عزیز وب سرویس من با تعداد بالا مشکلی نداره

خودم میدونم که به خاطر استفاده از تایمر این اتفاق میفته اما نمیدونم چیکار کنم؟
دقیقا چیو میخواین بدونید؟

من یک تایمر با اینتروال 1000 گذاشتم که استارتش میکنم و داخل حلقه 500 تا اس ام اسمو به ترتیب سند میکنم اما اگه هرکدام ایراد داشت و موفق نبود ارسال میگم که باز فرستاده بشه اما تو تعداد بالا مشکل داره و تعداد پایین بدون مشکل کار میکنه!

raziee
یک شنبه 12 آذر 1391, 17:48 عصر
با سلام
استفاده از Timer رو حذف کنید. از کش و انقضاء کش استفاده کنید.
در رابطه با پیاده سازی Task در ASP.NET جستجو کنید.
مطالب بسیار زیادی رو پیدا خواهید کرد.

saeed_sho
یک شنبه 12 آذر 1391, 17:54 عصر
پیامک ها رو ذخیره کن در دیتابیس و یه فیلد فلگ بزار اگه فرستاد true اگه نفرستاد false بهد با task سلکت بزن اونهایی که فلگ false دارن رو بفرست بعد فیلد فلگ رو آپدیت کن

fakhravari
یک شنبه 12 آذر 1391, 20:16 عصر
http://barnamenevis.org/showthread.php?368138-%D8%B2%D9%85%D8%A7%D9%86%D8%A8%D9%86%D8%AF%DB%8C

masoud_z_65
سه شنبه 14 آذر 1391, 15:12 عصر
دوستان از همه ممنونم

masoud_z_65
سه شنبه 14 آذر 1391, 15:24 عصر
پیامک ها رو ذخیره کن در دیتابیس و یه فیلد فلگ بزار اگه فرستاد true اگه نفرستاد false بهد با task سلکت بزن اونهایی که فلگ false دارن رو بفرست بعد فیلد فلگ رو آپدیت کن

دوست عزیز همین کار رو میکنم
اما میخوام که توی همون بار اول مثلا به تعداد مشخص تلاش کنم نه اینکه هر سری با کلیک کاربر اینکار انجام بشه
میخوام با تایمر(حالا نه حتما تایمر یه چیزی که اینکار رو برام انجام بده) توی هر 3 ثانیه یکبار اگه ناموفق بود باز تلاش کنه

masoud_z_65
سه شنبه 14 آذر 1391, 15:39 عصر
با سلام
استفاده از Timer رو حذف کنید. از کش و انقضاء کش استفاده کنید.
در رابطه با پیاده سازی Task در ASP.NET جستجو کنید.
مطالب بسیار زیادی رو پیدا خواهید کرد.
دوست عزیز منظور شما همون زمانبندی که دوست عزیز فخاری از وبلاگ آقای نصیری گفتن هستش؟




http://barnamenevis.org/showthread.php?368138-%D8%B2%D9%85%D8%A7%D9%86%D8%A8%D9%86%D8%AF%DB%8C

fakhravari
سه شنبه 14 آذر 1391, 19:45 عصر
لینک مطلب من ربطی به برنامه Quartz نداره.
ترکیبی از کار اقای خلیزاده با کار اقای نیری

saeed_sho
چهارشنبه 15 آذر 1391, 18:07 عصر
ماشالله همه غلط املایی دارن :متفکر:
بچه ها زمان مدرسه املا چند میگرفتین؟ :متفکر::لبخند::قهقهه:

saeed_sho
چهارشنبه 15 آذر 1391, 18:09 عصر
شما همون بار اول بذار در جدول بعد هر چقدر خواستی برای فرستادن اقدام کن اینجوری کاربر هم متوجه انجام تکراری عملیات نمیشه

masoud_z_65
پنج شنبه 16 آذر 1391, 09:05 صبح
دوست عزیز از بابت غلط املایی متوجه منظورت نشدم اما بابت نظرت اگه خوانده باشی گفتم که میخوام توی همون بار اول که دکمه ارسال پیامک کلیک میشه تا مثلا 5 بار اگه ناموفق بود باز ارسال انجام بشه و توی بازه زمانی مثلا یک ثانیه هر بار تلاش کنه که این بازه زمانی رو با تایمر مشخص کردم

الان هم زیر تقریبا 400 تا مشکلی ندارم اما بالای اون سرورم استاپ میشه!!!

saeed_sho
پنج شنبه 16 آذر 1391, 18:29 عصر
یعنی هر ثانیه 400 تا پیامک بهش پاس میدی؟
مطمئنی میتونه جواب بده؟
اگه میگم در دیتابیس ذخیره کن به خاطره اینه که شما میخوای 5 بار هر یک ثانیه امتحان بکنی بعد اگه نشد در دیتابیس ذخیره کنی و صفحه هم بعدش رفرش میشه فکر نمیکنی مدتش خیلی زیاد میشه؟
یعنی میگم کاربر هم باید بفهمه که پیامک نمیره
این نظر منه لطفا دوستان هم نظر بدن

masoud_z_65
پنج شنبه 16 آذر 1391, 20:56 عصر
من 4000 تا پیامک رو براساس یک حلقه بهش میدم و توی حلقم از سرویس استفاده کردم
در همین حین ارسال موجودیت sms رو هم ثبت میکنم اما همینجا باز توی یه حلقه چک میکنم اگه ناموفق بود باز بفرسته و تایمر رو تنظیم کردم هر مثلا 1ثانیه اینکارو بکنه

raziee
جمعه 17 آذر 1391, 13:22 عصر
اول شما باید مشخص کنید که آیا سرور اختصاصی دارید یا نه؟
که به احتمال زیاد دارید از Share Hosting برای میزبانی استفاده میکنید. هاستینگ ها محدودیت هایی رو برای هر Application ایجاد میکنند. مثل استفاده از Ram و CPU سرور.
شما نمیتونید از Timer با Interval یک ثانیه استفاده کنید!
یک راه مناسب که در بالا بهش اشاره کردم پیاده سازی Task با استفاده از Caching هست. حدود 4 سال هست که Application ای که برای ارسال پیامک نوشتم داره بدون مشکل کار میکنه(در هاست های استراکی)