نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
میونید کانکشنی که ابتدا ساختید رو بین متدها پاس بدید و کانکشن جدیدی نیاز نیست بسازید.
به جای دیتاریدر، دسته ای از رکوردها را در دیتاتیبل دریافت و پردازش کنید(صفحه بندی داده ها)

در مورد کدهاتون، کاری که این کدها انجام میدن چیه؟ به نظرم خیلی سختش کردی. اگر میتونی یک نمونه پروژه بزار تا بشه روش نظر داد.
یک کانکشن گلوبال میساختم و همه جا از اون استفاده میکردم اما تو اون حالت خیلی زودتر sql server هنگ میکرد.

شما این مدلی فرض کنید که من میخام برای 100،000 تا سایت دو الی 10 تا request ارسال کنم . دور اول که ارسال شد برای یک سایت ، یک زمان رندم بین مثلا 5 الی 30 دقیقه انتخاب بشه و بعد از اون زمان دوباره ارسال درخواست به سایت مورد نظر شرو بشه و ...

زمان ارسال این درخواست ها برای سایت ها نباید یکی باشه . یعنی برای هر سایت یک زمان رندم جدا باید انتخاب بشه.

وقتی وقفه ایجاد کردن برای ارسال هر دور برای یک سایت رو با thread.sleep انجام میدم مصرف رم سیستم بشدت بالا میره و... ( مجبورم تو هر 100000 تا ترد thread.sleep استفادخ کنم که پدر رم رو در میاره )

میام از دیتابیس استفاده میکنم. برای هر سایت در دور اول که درخواست ارسال شد بجای thread.sleep اون زمان وقفه رو در دیتابیس ذخیره میکنم . بعد یک تابع دارم که هر 15 ثانیه دیتابیس رو چک میکنه که هر رکوردی زمانش رسیده بود شروع کنه برای ارسال و ... و دوباره کارش که تموم شد یک زمان رندم دیگه انتخاب میکنه و تو دیتابیس ذخیره میکنه.

فقط مشکل اینجاست که نمیتونم برنامه بزارم