-
Notifications
You must be signed in to change notification settings - Fork 611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
اکسپایر شدن اکانت با حجم و زمان باقیمانده #850
Comments
@diditra سلام |
درود ، |
با شلام خدمت همه عزیزان |
درود این مشکل همچنان پابرجاست حتی در ورژن 0.6.0. به نظر میرسه به این ربط داشته باشه که بات چند ریکوئست مختلف مرزبان (که تداخلی با هم ندارن) رو همزمان اجرا میکنه. ما توی ddbot بین این ریکوئستها sleep یک ثانیه ای گذاشتیم که یه کم شرایط رو بهتر کرد ولی همچنان اتفاق میفته. یوزر ساخته یا تمدید میشه، حجم و زمان هم درست ست میشه، مصرف قبلیش هم درست ریست میشه، وضعیتش روی پنل مرزبان هم active هست ولی کانفیگهاش eof میدن. اکثر موارد با disable و enable کردن اکانت مشکل حل میشه. به نظر میرسه یک race condition یک جایی هست. |
یوزر فقط لیمیت میشه یا اکسپایر هم میشه؟ |
بجز مرزبان چیز دیگه ای هم نصب دارید که با پنل کار کنه ربات مثلا؟ |
برای موضوع expired شدن وضعیت کاربر، بهتره از طریق api به اطلاعات کاربر ریکویست بزنید. نتیجه رو ارسال کنید. |
فقط اکسپایر میشه |
خب این مشکل رو با استفاده از صفحه OpenAPI مرزبان بیشتر تست کردیم و مشخص شد باگ کجاست. البته با مشکلاتی که چند ماه پیش گزارش شده متفاوت هست و تو نسخه 0.5 یا 0.6 به وجود اومده. اگر یه ریکوئست POST به این شکل بزنم برای ایجاد یوزر جدید:
کانفیگهای ویلس همه EOF میزنن ولی ویمسها وصل میشن.
این بار دقیقا همون کانفیگها میان توی ساب ولی همه کار میکنن و پینگ میدن. |
بله ربات هست |
بله من هم تست کردم ظاهرا مشکل از همین قظیه هست امیدوارم زودتر رفع بشه |
این مورد خاص مشکلش پیدا شد. باگ از مرزبان نبود. مشکل اینجا بود که کاربر کانفیگ مربوط به اینباند رو زیر مجموعه اینباند دیگه قرار داده بود توی قسمت Host settings. بعد موقع ساخت یوزر اینباندی که کانفیگی نداشت ولی برای کانفیگهای دیگه لازم نبود رو انتخاب نمیکرد. اما همچنان مشکلی که یوزر تمدید میکنه و تمدید هم میشه ولی کانفیگهاش eof میزنن باقیه. روی همه پنلها هم پیش نمیاد. وضعیت یوزر active هست و حجم و زمان هم درست ست شده. با توجه به اینکه این مورد فقط موقع استفاده از بات و فقط موقع تمدید پیش میاد ما اومدیم یه سری تست انجام دادیم. فاصله زمانی بین ریکوئستهای ریست کردن ترافیک و ریکوئست modify یوزر تاثیر داره. اگر سریع پشت سر هم زده بشن قطعا این این اتفاق میفته. ریکوئستها با موفقیت انجام میشن و مصرف یوزر ریست میشه و حجم و زمان جدید هم درست ست میشه. اما کانفیگهاش eof میدن. با یک بار enable و disable کردن دستی اکانت مشکل برطرف میشه. |
این اکانت چطوری ساخته شده؟ با api یا از طریق پنل؟ |
خود اکانت قبلا از طریق بات ساخته شده ولی همونطوری که توی نوت میبینید آخرین اتفاقی که روش افتاده تمدید توسط بات بوده. برای تمدید ما api های زیر رو صدا میزنیم: POST: /user/{username}/reset بعدش یک ثانیه sleep. چون از ورژن 0.4.3 به بعد بدون sleep اکانت تمدید میشد ولی بعدش EOF میداد با وجود اینکه status اکتیو بود! یک ثانیه تاخیر رو که اضافه کردیم تقریبا دیگه پیش نیومد. اما هنوز هم هستن کسایی که مشکل دارن و این خودش یه مشکل دیگست. بعد از یک ثانیه تاخیر همچین ریکوئستی میزنه بات: PUT: /user/{username} بسته به پنل شاید یک در 100 یوزر تو حالت expired قرار میگیره حالا یا بعد از یه مدت یا دقیقا بعد از تمدید. گفتنش سخته چون یوزر همون لحظه اطلاع نمیده. |
درود
اخیرا بعد از آپدیت به 0.4.3 چند مورد پیش اومده که اکانت کاربر اکسپایر میشه ولی هم حجم باقیمانده داره هم زمان. یک نمونه رو ضمیمه کردم.

The text was updated successfully, but these errors were encountered: