team-i2021 / nira_bot

にらBOT
MIT License
1 stars 0 forks source link

シン・データベースの置き換え #43

Closed nattyan-tv closed 1 year ago

nattyan-tv commented 2 years ago

HTTP_dbMongoDB

nattyan-tv commented 1 year ago

概要

まとめ:テストに対する静かなる怒り。

途中まで作業したけど、db-updateは一回なかったことにする。 (結局全部motorに置き換えなきゃいけないのと大した作業が出来ていなかったから) とりあえずほぼ0の状態から1日(約10h)で残り数個まで進めたからあとはちょっとやるだけ。(動くかどうかはさておいて) (*コミット爆弾投下にも目をつむる)

やること

現状、HTTP_dbを使っている各機能において、データベースを自前で用意するよりクラウドに任せた方がいいという判断になって、MongoDBへと乗り換えを行う。 この際、ちゃんと非同期処理を行わないといけないため、motorというライブラリを使用する。 使用方法についてはどっかのコミットを見て欲しい。

対応状況(進捗)

.pyは省略。データベースを使わないCogも省略。

勝手なもくろみ

完全に置き換えるまではHTTP_dbと併用...(既視感)(頑張れば今年中に...)

データベースの生データの乗り換えについて

前回とは異なり、データベースマネージャーは作らず、もう手動で頑張る。 そのため、一部のデータ(主に壊れているreactionあたりとか)はもう移行をせず切り捨てる(アーケードゲームとか大体そうだし(???)) 他は頑張る。(ただし、作業は夜中でないと怒られるらしい)


データの置き換え

1/2のサーバー障害の時に、「MongoDBへのデータ移行が終わるのが先か」「別サーバーのセットアップが終わるのが先か」の戦いをやっていたので、そのままの名残で、MongoDBへのデータ移行が進んでいる。 データは1/2時点かつ、一部データはスキップ(不具合で上書きされてたようなやつとか)したものとなっている。 下記のデータ移行が終われば全部終わる。

nattyan-tv commented 1 year ago

小並感(小学生並みのくそみたいな量みたいな感じの)コミットでデータベースを適当に移行した(出来てればいいな)

動作チェックについては、開発環境でdebugモードを使用し、チェックに必要なcogのみを読み込んだ状態でコマンドを実行したりして確認した。 その為、もし他のところにSyntax Errorとかが潜んでいた場合は動作しない場合がある

置き換え及び仕様変更

仕様変更

pollpanel: データベースを使わないようにした(多分今後は使うようにしなきゃいけないだろうけどとりあえず)/動作チェック済み

置き換え

remind: データベースをMongoDBを使用するように変更/動作チェック済み normal_reaction: データベースをMongoDBを使用するように変更、データベース更新期間を30秒ごとに(これもキャッシュを使ってもいいかも)/動作チェック...したようなしてないような。

新規

weather: wttr.inという、CLI上での天気情報取得が出来るサービスを使用して、天気を取得する機能を追加した/動作チェック済み a3rt_talk: 説明は割愛。そこまで強くはない対話AIとの会話機能を追加した/動作チェック済み

私の最低限のやることリスト

nattyan-tv commented 1 year ago

まだログを監視しながら、明らかにおかしいものがあれば都度都度修正... 一応はこれでデータベースの移行その他いろいろごにょごにょは一回終わり シャードとかはまた必要になり次第...()

(なんかあったらreopen)