[#43412] [Ruby 1.9 - Feature #4592][Open] Tempfileを直接保存したい — Takeyuki Fujioka <xibbar@...>

15 messages 2011/04/21

[#43453] ThreadGroup の強化案 — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

14 messages 2011/04/28
[#43901] ThreadGroup#make_local_space! (Re: ThreadGroup の強化案) — Hidetoshi NAGAI <nagai@...> 2011/06/25

永井@知能.九工大です.少々長いメールで失礼します.

[#43920] Re: ThreadGroup#make_local_space! (Re: ThreadGroup の強化案) — Urabe Shyouhei <shyouhei@...> 2011/06/26

ひっじょうに根本的な質問をするのですけれども、ThreadGroupって何に使うん

[#43978] Re: ThreadGroup#make_local_space! — Hidetoshi NAGAI <nagai@...> 2011/06/28

永井@知能.九工大です.

[ruby-dev:43418] [Ruby 1.9 - Feature #4592] Tempfileを直接保存したい

From: Takeyuki Fujioka <xibbar@...>
Date: 2011-04-21 12:20:46 UTC
List: ruby-dev #43418
Issue #4592 has been updated by Takeyuki Fujioka.


卜部さんの言うとおりなのですが、ユースケースを書きますと、
Railsもcgi.rbも巨大なファイルをアップロードしたときは
tempfileにファイルを保存します。
これを保存したいとなったときに、
tempfileから読みだして、別ファイルをオープンして
書きこむという手間とメモリが必要なので、
tempfileに入っているんだから、そのままリネームでもして
保存出来ればいいのになと思ったのでした。

ちなみに卜部さんのやり方ももちろんOKですが、
私的にはHTTP Requestをまたいで使いたいので、
tempfileを消えないようにだけするという対応でも
OKなのでした。tempfile名をセッションにでも入れて、
次のリクエストでまた開くということをやりたかったです。
----------------------------------------
Feature #4592: Tempfileを直接保存したい
http://redmine.ruby-lang.org/issues/4592

Author: Takeyuki Fujioka
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 


Tempfileは一時ファイルなので、プロセスが消えたり、#closeすると、
ファイルが消えてしまいます。
Tempfileのデータを保存するために
一旦読みだして、書き込み用に別ファイルを開いて、
そこに書きこまなければいけません。
これが小さいファイルだったらいいのですが、
大きいファイルになると、
Tempfile#save みたいなメソッドを用意して、
closeと同時に保存ができると、
読みだして書きこむという無駄をなくすことができます。
10MB程度だったらいいのですが、500MとかのTempfileだと
かなり有効なメソッドだと思います。

#save とか #save! とか、何がいいかは議論の余地があると思います。


-- 
http://redmine.ruby-lang.org

In This Thread