最近めちゃくちゃ忙しくて・・・今年初めての更新。今回は、仕事中に実際困った話から。 例えば、ファイルのアップロード処理などである程度まとまったデータベース処理とファイルの処理をうまく連携させたいことがあります。 単純に正常系だけを考えれば別にどうってことはないんですが、例えばトランザクションをロールバックさせた場合にファイル処理も「なかったこと」にしたい時ってどうしましょう・・・。意外と厄介なもんです。 ファイルを処理したことにする 「なかったこと」にするのではなく、処理したことにしてみました。 やりたいことは、ロールバック時には何も処理されていない状態であること、コミット時にはきちんとファイルが処理されていることです。処理したことにした場合に困るのが、exists()とかのファイルの存在確認メソッドを使った場合のふるまいです。この辺も考慮にいれてエミュレーション(?)させます。 上のクラ
![トランザクションとファイル処理の連携](https://cdn-ak-scissors.b.st-hatena.com/image/square/438d3a0b0008b1c2f32a1aaacce203db24f655ac/height=288;version=1;width=512/http%3A%2F%2Fblog.flup.jp%2Fwp-content%2Fuploads%2F2008%2F02%2Fcircuits.jpg)