-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
説明
ランチャーから何らかの原因でplayLogの終了のリクエストが送られず、ずっとプレイ中ということになってしまうことがある。今は DELETE /editions/{editionID}/games/{gameID}/plays/{playLogID} からadminだけが削除できるようになっているが、これだとDBの中身を覗いてidを取得してリクエストを送る、という手間がかかって間違うリスクがある方法になってしまっている。
定期的(1時間おきくらい?)にplayLogのテーブルを確認して、あまりにプレイ時間が長くなってしまっている(4時間とか?)ものがあったらそれを削除するようにしたい。
注意点
物理削除をしてしまうと、本当に長く遊んでいたときに来た終了リクエストが正しく処理されなくなってしまうので、論理削除にして、リクエストが来たときには復活するようにしたい。Gormの機能としてdeleted_atカラムがnullかどうかみたいな感じで使えるので、それを使う。
定期実行に関する処理は、schedule みたいなパッケージを作って、そこからserviceのコードを呼ぶ。普通のAPIのhandlerがscheduleに置き換わった感じ。名前は要検討。
この機能が実装できたら、DELETE /editions/{editionID}/games/{gameID}/plays/{playLogID} はdeprecatedにしてしまってもいい。
その他
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request