نمایش نتایج 1 تا 7 از 7

نام تاپیک: ارسال sms اتومات

  1. #1

    ارسال sms اتومات

    سلام.
    من میخوام به صورت اتومات برای افرادی که تاریخ تولدشون همون روز هست sms بدم.
    تو application_start این کار رو انجام دادم اما مشکل اینجاست که اگه کسی وارد برنامه نشه، application_start اجرا نمیشه.

    چه راهی هست برای این کار؟

  2. #2

    نقل قول: ارسال sms اتومات

    سلام
    به نظرم میتونی از Quartz استفاده بکنی
    برنامه زمان بندی بنویسی برای این کار و در هر روز چک بشه که تولد چه کسانی هست
    https://www.quartz-scheduler.net/

  3. #3
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: ارسال sms اتومات

    تو application_start این کار رو انجام دادم اما مشکل اینجاست که اگه کسی وارد برنامه نشه، application_start اجرا نمیشه.
    رویداد Application_Start جای مناسبی برای این کار نیست، چرا که فقط یک بار، زمانی که برنامه هنوز روی سرور بالا نیومده و برای اولین بار با باز شدن یکی از صفحات اجرا میشه این رویداد اجرا میشه. اگر میخوای الزاما از رویدادهای Global.asax استفاده کنی Session_Start گزینه بهتری محسوب میشه.

    به نظرم میتونی از Quartz استفاده بکنی
    کتابخانه Quartz بیشتر بدرد برنامه های دسکتاپ میخوره تا وب (بخاطر تفاوت اجرای پروسس در وب).
    در وب بهتره از Hangfire استفاده کنی که برای وب بهینه شده (پشت صحنه خودش از Quartz استفاده می کنه، البته با رعایت الزامات Process Management در IIS Worker Process).
    با استفاده از Hangfire می تونی یک Task بنویسی که 24 ساعت یک بار مثلا ساعت 10 صبح هر روز اجرا بشه، و با یک کوئری اونهایی رو که امروز تولدشون هست رو بدست بیاره و بهشون SMS یا ایمیل بزنه.

  4. #4

    نقل قول: ارسال sms اتومات

    با استفاده از Hangfire می تونی یک Task بنویسی که 24 ساعت یک بار مثلا ساعت 10 صبح هر روز اجرا بشه، و با یک کوئری اونهایی رو که امروز تولدشون هست رو بدست بیاره و بهشون SMS یا ایمیل بزنه.

    هاست های اشتراکی یه idleTime دارن که اگر درخواستی به سمتشون ارسال نشه نرم افزار یا سایت رو Stop میکنن و بعد از اینکه اولین درخواست به سمتشون ارسال بشه مجددا برنامه از رویداد Application_Start شروع به کار میکنه
    سوال: آیا اگه از Hangfire استفاده کنیم، زمانی که برنامه Stop باشه مثلا ساعت 10 بشه خود Hangfire اجرا میشه؟ یا اینکه حتما نیاز داره برنامه در حال اجرا باشه؟

  5. #5

    نقل قول: ارسال sms اتومات

    نقل قول نوشته شده توسط مهدی کرامتی مشاهده تاپیک
    رویداد Application_Start جای مناسبی برای این کار نیست، چرا که فقط یک بار، زمانی که برنامه هنوز روی سرور بالا نیومده و برای اولین بار با باز شدن یکی از صفحات اجرا میشه این رویداد اجرا میشه. اگر میخوای الزاما از رویدادهای Global.asax استفاده کنی Session_Start گزینه بهتری محسوب میشه.
    جناب کرامتی الزامی بر استفاده از رویدادهای Global.asax ندارم. به نظر شما بهترین جا برای این کار کجاست؟

  6. #6

    نقل قول: ارسال sms اتومات

    نقل قول نوشته شده توسط سعید کشاورز مشاهده تاپیک
    سوال: آیا اگه از Hangfire استفاده کنیم، زمانی که برنامه Stop باشه مثلا ساعت 10 بشه خود Hangfire اجرا میشه؟ یا اینکه حتما نیاز داره برنامه در حال اجرا باشه؟
    جناب کرامتی ممنون میشم علاوه بر سوال خودم، این سوال رو هم پاسخ بدید. سوال خیلی خوبیه

  7. #7
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: ارسال sms اتومات

    سوال: آیا اگه از Hangfire استفاده کنیم، زمانی که برنامه Stop باشه مثلا ساعت 10 بشه خود Hangfire اجرا میشه؟ یا اینکه حتما نیاز داره برنامه در حال اجرا باشه؟
    همه Thread های فرعی (مثل اونهایی که توسط Hangfire ایجاد می شوند) توسط Thread اصلی برنامه ASP.NET شما ایجاد می شوند، بنابراین اگر Thread اصلی برنامه شما به هر دلیل از جمله تنظیمات IdleTime در سرور، Recycle شوند، تمام Thread های فرعی نیز به همراه آن متوقف خواهند شد. در مقاله ای در سایت سازنده پکیج Hangfire موضوع همیشه تحت اجرا نگه داشتن برنامه های ASP.NET بررسی شده است، اما استفاده از آن تکنیک نیازمند داشتن دسترسی Admin به سرور مربوطه جهت انجام تنظیمات لازم، یا درخواست فعال کردن قابلیت AutoStart از ارائه دهنده سرویس میزبانی خواهد بود.
    اما همه چیز هم نا امید کننده نیست. اگر مشکل اجرا بودن/کردن برنامه به هر ترتیب حل شود با توجه به اینکه Hangfire امکان Persist کردن وضعیت تسک ها را در یک دیتابیس یا انواع دیگر Storage ها را دارد، پس از اجرای مجدد برنامه تسک هایی که در Hangfire تعریف شده بودند Resume خواهند شد.

    جناب کرامتی الزامی بر استفاده از رویدادهای Global.asax ندارم. به نظر شما بهترین جا برای این کار کجاست؟
    پاسخ دقیق شما در پست شماره 3 همین تاپیک دادم: رویداد Session_Start

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: سه شنبه 25 بهمن 1390, 23:17 عصر
  2. پاسخ: 1
    آخرین پست: شنبه 15 بهمن 1390, 17:02 عصر
  3. امکان متوقف کردن اتوماتیک Style زدن در کد ASPX موقع افزودن Table
    نوشته شده توسط majid_darab در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: چهارشنبه 15 اردیبهشت 1389, 19:08 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •