>>351
タイムアウトを含めて失敗したら即リソースを解放すればいいだけでは?

あと排他制御が必要なリソースの状態を管理するテーブルと
そのリソースを誰が使ってるかみたいな情報を管理するテーブルは別にしたほうがいいよ