l3tnun / EPGStation

Mirakurun を使用した録画管理ソフト
https://twitter.com/l3tnun
MIT License
566 stars 151 forks source link

要望: DB接続時のエラーを握り潰さずログに表示してほしいです #628

Open vroad opened 2 years ago

vroad commented 2 years ago

NixOSでEPGStationを設定しようとしていますが、EPGStationがmysqlに接続出来ず起動できていません。 エラー内容を確認しようとしたところ以下でエラーを握り潰していて内容を確認できませんでした。 https://github.com/l3tnun/EPGStation/blob/c0e201b83231dfed73e5bea1b2ec54866fcfbbba/src/model/ConnectionCheckModel.ts#L42-L55

他にやりようはあるのでは?と思います。例えば ・永久にリトライしない。一定の回数試したら最後のエラーを表示して終了する。 ・接続情報の誤りなどリトライしても意味無いものはリトライしない。 ・接続失敗のたびにエラーを表示するが、リトライ間隔は長めにしてログがエラーで埋め尽くされないようにする。または、Exponential Backoffでリトライ間隔をだんだん長くする。

NixOSのようなLinuxディストリビューションなら、EPGStationに不具合が起きて終了したら、systemdに再起動させれば良いので 永久にリトライし続ける実装にするメリットは特にないです。 他OSでも通常は何らかの手段で自動的に再起動するようにするのではないでしょうか。

ログメッセージもcheck dbだと何してるのか分からないのです。こんな感じでどうでしょう。

  1. 最初に: Connecting to DB
  2. 失敗後、待機する前: Unable to Connect to DB (エラー内容), retrying in 10 seconds
  3. Error connecting to DB: maximum number of retries (6) exceeded
l3tnun commented 1 year ago

現時点で開発のリソースの余裕がないので、直近で対応する予定はありません。