3abot: برنامهی کار
بهروزرسانی ۲۰۲۶-۱۰-۰۵ ساعت ۰۹:۰۵ (تهران) · منبع: project گیتهاب، لاگهای prod و transactionهای prod · زمانهای دیتابیس به UTC هستند · اجرای خودکار ساعت ۲۱ از ۱۰-۰۲ به بعد اجرا نشده (proxy روی این لپتاپ در دسترس نبود)؛ این نسخه دستی ساخته شده است
🐞 باگها
🛠 تسکها
برنامه: C · رفع سریع، بعد رمزینکس
انتخابشده در ۲۰۲۶-۰۹-۲۸. مراحل ۱ تا ۳ تمام شدهاند. از مرحلهی ۴، همهی P0ها و P1هایی که ready بودند PR دارند و منتظر review شما هستند. کار بعدی خودکار CI/CD (#63) است.
مرحلهی ۱ · refine ✓
- #45، #24، #37 refine و ساخته شدند
مرحلهی ۲ · رفع سریع ✓
- #3، #4، #1، #45
مرحلهی ۳ · رمزینکس ✓
- #37 ← PR #72 (هر ۶ بخش)
بقیهی P0ها و هشدارها
- P0: #67 ← PR #94، #78 ← PR #95، #86 ← PR #97
- P1: #12 ← #98، #13 ← #99، #15 ← #100، #49 ← #101، #51 ← #102
- بعد: CI/CD #63 و #69، سپس P2ها
الان در حال انجام
روی board هشت مورد In Progress است. همه PR دارند و هیچکدام merge نشدهاند. کار ساختن متوقف نیست؛ فقط منتظر review است.
انجامشده
کارهایی که از گزارش قبلی (۱۰-۰۱ ساعت ۲۲:۰۵) تمام شدهاند، جدیدترین اول.
- صفحهی issues.html فارسی شد · PR #85منتظر review شما
چه بهتر میشود: صفحهی issueها فارسی، راستبهچپ و ثابت است و هیچ دکمه یا اسکریپتی ندارد. آپلود و با sha256 تأیید شد.
اثر جانبی: فقط ابزار گزارش؛ کد ربات دست نخورده.
- #70 LBank دوباره refine شدمنتظر تأیید شما
طبق تصمیم شما: فاز ۱ همهچیز را میسازد جز ثبت سفارش واقعی. wallet ساختگی است، سفارشها روی depth زندهی LBank شبیهسازی میشوند و notification خاموش است. حدود ۱۱ تا ۱۴ روز کار، بعد چند هفته اجرا و سنجش.
- PR #97 بیتپین «market suspended»: هر دو جهت ۵ دقیقه متوقف شوند (#86)منتظر review شما
چه بهتر میشود: طوفان خطا متوقف میشود. ۱٬۶۹۴ رد «market suspended» در ۲۴ ساعت گذشته ← نزدیک صفر، بهعلاوهی یک notification.
اثر جانبی: در زمان تعلیق بازار، بیتپین ۵ دقیقه معامله نمیکند (با
trade:block:*که TTL دارد؛ کلید جدیدی اضافه نمیشود).بررسی بعد از deploy: شمارش
market is currently suspendedدرexchange_requests. - PR #95 orderbook کهنه به موتور نرسد (#78)منتظر review شما
چه بهتر میشود: بعد از reconnect، نیمهی کهنهی orderbook دیگر با نیمهی تازه جفت نمیشود. این جلوی signal ساختگی و خریدهای پرنشده را میگیرد (۱۳ از ۱۶ signal تبدیل روی book بالای ۵ ثانیه بودند).
اثر جانبی: MarketDataService همهی صرافیها را تغییر میدهد، ولی watchdog فقط برای تبدیل روشن است (
staleBookMs: 5000). یک خط آمار در هر دقیقه اضافه میشود.بررسی: خط
[stale]در لاگ marketdata و سن book در trade-execution. - PR #94 با stop و start دیگر resell-service نمیافتد (#67)منتظر review شما
چه بهتر میشود: resell-service فوراً stop میشود و کوینها در Redis میمانند.
manage.ts startبعد از ۵ ثانیه چک میکند که همهی appها online باشند.اثر جانبی:
kill_timeoutبرای resell-service از ۳۳۰ به ۵ ثانیه میرسد. با هر stop و start یک notification میآید. - PR #101 هشدار «وضعیت سفارش نامشخص» بعد از timeout یا 5xx (#49)منتظر review شما
چه بهتر میشود: وقتی صرافی جواب نمیدهد (تبدیل: ۲۵ timeout و ۹ خطای 502 در ۲۴ ساعت)، اپراتور با جزئیات سفارش خبردار میشود.
اثر جانبی: هر پنج آداپتر تغییر میکنند. در تبدیل، 5xx هم مبهم حساب میشود و بازیابی برایش انجام میشود.
- PR #100 بعد از رد شدن فروش به دلیل موجودی ناکافی، دیگر retry نکند (#15)منتظر review شما
چه بهتر میشود: تبدیل 1218 (۳۷ مورد در ۲۴ ساعت)، والکس 1006 و بیتپین
insufficent_balance← تا وقتی موجودی تازه نیامده سفارشی ثبت نمیشود.اثر جانبی: مسیر فروش ResellService (money path).
- PR #99 دقت حجم در تبدیل برای stepSize بزرگتر از ۱ (#13)منتظر review شما
چه بهتر میشود: خطای 1208 تبدیل (۳۵ مورد در ۲۴ ساعت) ← صفر.
اثر جانبی: precision منفی (مثلاً BONK
-2) در Bun و Go. هر دو طرف تست دارند. - PR #98 ذخیرهی
usdt_irt_at_sell(#12)منتظر review شماچه بهتر میشود: نرخ دلار هنگام فروش روی معاملات بسته ثبت میشود (الان روی هیچکدام ثبت نمیشود).
اثر جانبی: در جهت USDT→IRT یک
GET usdt_irtاضافه میشود. - PR #102 لغو 406 بیتپین خطا حساب نشود (#51)منتظر review شما
چه بهتر میشود: لغو سفارشی که قبلاً بسته شده دیگر error ثبت نمیشود و دلیل واقعی بیتپین در لاگ دیده میشود.
اثر جانبی: اثری انتظار نمیرود (فقط برچسب و لاگ).
- PR #93 «Order not found» تبدیل: سفارش لغو و تسویه شود (#14)Merge شده
چه بهتر میشود: سفارشی که صرافی پیدا نمیکند رها نمیشود.
بررسی: هنوز ۶۹ مورد 1204 در ۲۴ ساعت دیده میشود. احتمالاً تبدیل هنوز build قبلی را اجرا میکند (پایینتر، در «تصمیمهای شما»).
بعدی
- ۱#63 CI/CD: بعد از merge، تست و build و restart صرافیهای فعال۲ تا ۳ روز
implement #92P1تسکReadyهمین ۸ PR منتظر را بدون deploy دستی به prod میرساند. ۵ بخش (#92، #88 تا #91) روی یک PR. - ۲#69 ارسال موجودی صرافیها به کانال تلگرام۱ روز
implement #69P1تسکReadyدید روزانه از موجودی بدون ورود به صرافیها. - ۳#70 LBank: فاز ۱ (paper trading)۱ هفته+
تأیید در تلگرامP1تسکRefinedمنتظر تأیید شما. بدون سفارش واقعی و بدون notification. - ۴#16 تبدیل: جواب FILLED/expired روی لغونیم روز
implement #16P2باگReady۶۳ پاسخFILLEDدر ۲۴ ساعت بهعنوان خطا ثبت شدهاند. - ۵#21 محافظ سقوط دلار فقط به یک منبع OHLC وابسته است۱ روز
implement #21P2باگReadyاگر OHLC والکس قطع شود، هیچ صرافیای محافظ ندارد. - ۶#22 حلقهی re-subscribe در ResellServiceنیم روز
implement #22P2باگReadysymbolهای کهنه هیچوقت بازیابی نمیشوند. - ۷#23 churn در reconnect وبسوکت۱ روز
implement #23P2باگReadyنوبیتکس ۱۰۲ «transport closed» در لاگ marketdata دارد. - ۸#46 · #50 · #33 · #39 P2های کوچکهر کدام ≤ ۲ ساعتP2Readyثبت رد «حجم کم»، توقف retry روی حداقل معامله، قوانین WS والکس، سند tier تست.
تصمیمهای شما
همه تست دارند و هیچکدام merge نشدهاند. #97 مستقیماً طوفان «market suspended» بیتپین را متوقف میکند. #95 جلوی signalهای ساختگی تبدیل را میگیرد.
۱٬۶۹۴ رد «The specified market is currently suspended» در ۲۴ ساعت، بعد هیچ درخواستی. احتمالاً متوقف شده است. اگر شما stop کردهاید، روی همین تصمیم بماند.
در ۲۴ ساعت ۲۰ معاملهی بسته (+۰٫۴ میلیون تومان) و ۸۳ OverValueOrder داشت، بعد متوقف شد. تصمیم ۰۹-۲۸ میگفت نوبیتکس خاموش است تا اپراتور روشنش کند. آیا الان روشن است؟
#14 روز ۱۰-۰۱ merge شد، ولی هنوز ۶۹ «Order not found» (1204) در ۲۴ ساعت دیده میشود.
والکس ۴۳ از ۱۷۰، تبدیل ۲۴ از ۸۲، بیتپین ۲۱ از ۶۶ (۲۴ ساعت). طبق تصمیم شما، فروش دستی بعد از deadline انتظار میرود.
چطور یک کار جلو میرود
۱تصمیم
اولویت را تعیین میکنید یا به سؤال بالا جواب میدهید.
۲Refine
issue به مشکل، علت، برنامه، معیار پذیرش و تخمین تبدیل میشود و برچسب refined میگیرد. شما ready را میزنید.
/refine #N۳ساخت
هر issue در branch خودش ساخته میشود و بهصورت PR برای review شما میآید. merge و deploy با شماست.
implement #Nهمهچیز، به تفکیک
🐞 باگها (۲۰)
ready اول، داخل هر اولویت.
- #67stop+start در manage.ts، resell-service را میاندازدPR #94منتظر review
- #78orderbook کهنه بعد از reconnect به موتور میرسدPR #95منتظر review
- #86بیتپین «market suspended»: توقف ۵ دقیقهایPR #97منتظر review
- #12
usdt_irt_at_sellخالی استPR #98منتظر review - #13دقت حجم تبدیل (1208)PR #99منتظر review
- #15رد فروش به دلیل موجودی ناکافیPR #100منتظر review
- #49وضعیت سفارش بعد از timeout یا 5xx نامشخص استPR #101منتظر review
- #51لغو 406 بیتپین بهعنوان خطاPR #102منتظر review
- #16لغو تبدیل: FILLED/expiredنیم روزReady
- #21محافظ دلار با یک منبع OHLC۱ روزReady
- #22re-subscribe در ResellServiceنیم روزReady
- #23churn در reconnect وبسوکت۱ روزReady
- #46ثبت رد «حجم کم» در DB≤ ۲ ساعتReady
- #50رد حداقل معامله در Resell: یک بار اطلاع، بدون retry≤ ۲ ساعتReady
P3 (۶): هنوز refine نشده
- #19 طوفان OverValueOrder نوبیتکس · #26 دامپ کامل خطای Axios · #27 امضای تبدیل در URL لاگ · #28 ردیف تکراری در
exchange_requests· #29 لاگ پرحجم موتور Go · #30 پوشهی لاگ pm2 حدود ۵۳۸ مگابایت
🛠 تسکها (۲۱)
ready اول، داخل هر اولویت.
- #63CI/CD (بخشهای #92، #88، #89، #90، #91)۲ تا ۳ روزReady · بعدی
- #69موجودی صرافیها در کانال تلگرام۱ روزReady
- #70LBank (فاز ۱: paper trading)۱ هفته+Refined · منتظر تأیید شما
- #31rate limit ثبت سفارش والکس≤ ۲ ساعتمتوقف (hold)
- #33قوانین اتصال WS والکس≤ ۲ ساعتReady
- #39سند: tier تست با prod مشترک است≤ ۲ ساعتReady
- #52داشبورد مانیتورینگ~نیاز به refine
- #73حساب اعتباری والکس~نیاز به refine
P3 (۸): هنوز refine نشده
- #32 حذف fallback getStreamKey · #35 کانال tradeDetails والکس · #38 آبانتتر · #40 timeout نوبیتکس · #41 تاریخچهی CPU/RAM · #42 تا #44 بهبودهای الگوریتم ResellService