この記事を作った動機
2026/11/11 に至るまでの間で OneNote 代替に関して、実装をするなど研究を進めているうちにわかったことなどを簡易的に記録する。
次に軽くやりたいことを記述
- WebSocket の
receiveLoopにおいて、例外が処理されていないケースがあり、無限ループになって WebSocket がつながらなくなっている可能性について調べ、修正する。現状だとConnectionClosedOKの例外しか処理されておらず、それ以外の例外が起こった時の挙動が怪しい。
async def receiveLoop(websocket:ServerConnection,callback) -> None:
while True:
try:
message = await websocket.recv()
if(not isinstance(message,str)):
message = "This is not string. Nothing to show."
print("\n\n----------------------")
showJSONMessage(message,receive=True)
# callback have to show sent messages.
await callback(message,websocket)
except ConnectionClosedOK:
break
pathlibを使うように実装しなおす- pexpect のセッション維持とログ表示部分を nonblocking_read に改修
- WebSocket のループにおける例外処理を正しく実装する。想定されていない例外が発生したときにループをBreakするように実装する。
- とにかくわかってなくてもいいから選んだ英論から発表資料を作成する
残りは前回記述したことと同上。
まだやれていないこと
マルチプロセッシングライブラリにおけるIPC
拡張モジュールのバリデーション実装
その他
watch -n 0.1 "cat log | tail -n 10" のようにして動いている様子が確認できるようにする。できれば各コントローラやホスティングのプロセスでも同じようなログの出し方をしたい。## LLM (DuckDuckGo ChatGPT) 出力 調査が必要 -------
## LLM (DuckDuckGo ChatGPT) 出力 調査が必要 -------
from __future__ import annotations
from typing import TYPE_CHECKING
if(TYPE_CHECKING):
from controller.common import commandModuleArgs
## LLM (DuckDuckGo ChatGPT) 出力 調査が必要 -------
## LLM (DuckDuckGo ChatGPT) 出力 調査が必要 -------