همسان شدن داده AssetSignal, AssetOrder با مدل قدیم

ما طی تغییر ساختار دیتامدل TickerSignal, CryptoSignal رو کنار گذاشتیم و یک مدل واحد به نام AssetSignal ساختیم ولی داده گذشته این دیتامدل کامل نیست و یک تسک باید اجرا شود تا این داده رو پر کنیم.

همچنین دیتامدل TickerOrder,CryptoOrder رو هم کنار گذاشتیم و به جای آن از AssetOrder استفاده می‌کنیم. داده‌ی این دیتامدل هم برای گذشته باید کامل باشد.

من دیروز زدم برای همه سیگنال ها AssetSignal ساخته بشه ولی WorkerLost خوردیم و رم کم آورد و همچنین خیلی طول می‌کشید.
و دیروز ساختار تسک رو به صورت chunkify اجرا بکنه تغییر دادم و همچنین سرعت تسک رو هم افزایش دادم.
امروز اجرا می‌کنم نتیجه رو بعدش اعلام می‌کنم.

ذخیره AssetSignal های بورسی رو انجام دادم و تسک اش رو به یک ساعت برای کل سیگنال های سهمتو رسوندم

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

برای کریپتویی ها زدم اجرا بشه و متوجه شدم که داده سیگنال های کریپتویی مشکل داره و از یک جفت نماد و پیام چندین سیگنال وجود دارد

حالا اینو با مسعود داریم چک میکنیم و بعد از اینکه این اوکی شد یه UniqueConstraint رو message_id, crypto_id به CryptoSignal اضافه میکنم که این مشکل دیگه پیش نیاد

بعد از این اصلاح این میزنم که CryptoSignal ها توی AssetSignal ذخیره بشوند.

مشکل اینکه CryptoSignal های تکراری داشتیم رو حل کردم و یه محدودیت در جدول CryptoSignal روی جفت (message_id, crypto_id) گذاشتم که این مشکل دوباره پیش نیاد

و همچنین AssetSignal های کریپتویی ها رو هم زدم ساخته بشه و کلا ۱۰ دقیقه طول کشید و این تسک هفتگی دوشنبه ها ساعت سه و نیم اجرا میشه تا مشکلی بود خود به خود اصلاح بشه.

این AssetSignal ها یه مشکل دیگه هم داره اینجا انجام اش میدم

1 پسندیده

در راستای همسان سازی AssetOrder تسک اش رو برای کل order ها اجرا کردم و worker-lost شد و تسک اش اجرا نشد.
حالا باید تسک سرعت اش زیاد بشه و اگر باز workerlost خورد chunkify هم باید بکنیم.

تسک همسان ساز اجراش رو به 2 دقیقه کاهش دادم و زدم هر هفته دوشنبه به صورت اتوماتیک اجرا شود تا اگر مشکلی در داده ها بود به صورت هفتگی حل شود.

امروز باز ناقصی توی داده assetSignal دیدم و هنوز نمیدونم از کجا این موضوع ایجاد میشه
ولی برای دور زدن مشکل فعلا میخوام روزانه این تسک سینک کردن رو اجرا کنم
ولی چون زمان تسک اش زیاده یه تسک جدید درست میکنم که فقط assetSignal های جدید رو بسازه و قبلی ها رو اپدیت نکنه.

اثر این ناقصی ها همه جا ممکنه دیده بشه و تسک هامون رو خراب میکنه.
از جمله تسک signal validation

یکی از ایشو های ایجاد شده به خاطر ناقصی داده.
لینک ایشو سنتری

یه alert میسازم که اگه این تناقض به وجود اومد بهمون بگه
ولی روزانه داره چند تا assetSignal رو miss میکنه و نمیسازه و هنوز نفهمیدم برای چیه
چون توی لوکال ام درست کار می‌کنه.

لینک الرتی که ساختم

این هر ساعت چک میکنه سیگنال بورسی ای هست که asset_signal نداشته باشه یا نه.

تسکی ساختم که اگه signal بورسی یا کریپتویی داشتیم و توی assetSignal نبود بیاد اضافه بکنه به assetSignal و کلا یک دقیقه طول می‌کشه اجراش
و برنامه ریزی کردم که هر ساعت اجرا بشه.
و الان مشکل حل شده با این تسک
ولی در کل مشکل هست که باید به صورت اتوماتیک با ساخت سیگنال بورسی و کرپیتویی ، assetSignal مورد نظرش هم باید ساخته بشه ولی هنوز مشکلش رو نفهمیدم و فعلا در نظرش نمیگیرم.

مشکلاتی که وجود می‌آید بعضی ها رو اشاره میکنم
ای پی آی پیام
تسک signal validation
تسک پرفومنس
و هر ای پی آی ای که از AssetSignal استفاده می‌کند.

مشکل AssetSignal از ریشه حل شد.
دلیل اینکه مشکل رو پیدا نمیکردم این بود که logger مون برای بخش DjangoSignals درست کار نمی‌کرد و متوجه مشکل نمی‌شدیم.

یه تغییری هم توی logger دادم که لاگ هامون کامل تر بیوفته و اینجور مشکلات رو متوجه ای بشیم.

1 پسندیده