ペーパークリップ アタッチメント モデルのスクリーンショットに 2 つのスタイル (smallcard と mediumcard) を追加しました。
class Screenshot < ActiveRecord::Base
has_attached_file :image,
:styles => { :tiny => "x75", :small => "x245", :medium => "x480", :large => "1280x900>",
:smallcard => "280x245#", :mediumcard => "570x480#" },
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/amazon_s3.yml",
:path => "/screenshots/:id_partition/:style/:filename"
end
public/system/paperclip_attachments.yml ファイルを手動で作成して、既存のスタイルの処理を減らしました。
---
:Screenshot:
:image:
- :tiny
- :small
- :medium
- :large
それでも rake paperclip:refresh:missing_styles CLASS=Screenshot を実行すると、次のようになります。
Regenerating Screenshot -> image -> [:mediumcard, :smallcard]
rake aborted!
Cannot allocate memory - identify -format %wx%h '/tmp/79a229e96ab52dfa760132958da47bf320120806-31260-1eleoww[0]'
Tasks: TOP => paperclip:refresh:missing_styles
[clip]
ログを追跡すると、処理は 500 番台 (ID) までしか行われません。
サーバーは確かに Ubuntu を実行している Linode 512 であり、3 つの Rails アプリと 1 つの PHP アプリのページを何年にもわたって提供してきました。これまでにメモリが不足したことはありません。
rake タスク プロセスを監視すると、使用可能なすべての RAM を使い果たすまで、処理されたイメージごとに段階的に成長します。
私のLinodeが成長する時が来たのかもしれません..しかし、最初に私はいくつかの他のオプションを望んでいます.
このメモリの問題を回避し、これら 2 つのスタイルを既存の 13k 画像に追加するにはどうすればよいですか?
ご協力いただきありがとうございます!