Web系プログラミングにまつわるアレコレ

Web系のプログラムに関する自分的まとめ。

タイムリミットを指定して ImageMagick (convert) を実行

画像変換ツールとして強力な ImageMagick(http://www.imagemagick.org/) ですが。

最近あるサイトでImageMagick利用している際に、/tmp以下に大容量のmagick-xxxxxテンポラリファイルを生成してディスクを使い果たしてサーバーもろともダウン、、、orz
ってな現象が頻発していたので、(変換できないエラーを追う前に)サーバーを止めないように暫定策をうつことにしました。

ImageMagickには各種リソースを制限する値(MAX値)があり、以下のコマンドを実行すると確認できます。
convert -list resource

制限できる値の種類には time があり、これはImageMagickの実行時間(単位:秒)を制限できます。
ちなみに以下のようにコマンドを実行すると1秒のタイムリミットを指定して画像の変換を行なう事ができます。
convert -limit time 1 source.gif destination.gif

この値は環境変数で指定する方法もあるので、つぎのコマンドも上記と同様の結果を得ることができます。
export MAGICK_TIME_LIMIT=1
convert source.gif destination.gif

or

MAGICK_TIME_LIMIT=1 convert source.gif destination.gif

以上のように指定して実行し、1秒以上かかった場合はエラー出力(2)に
convert: time limit exceeded `' @ fatal/cache.c/GetImagePixelCache/2095.
のようなメッセージが表示され、返り値には 1 が返されます。

↓の本家サイトのオプションを読むとさらに幸せになると思います。
(英語の読めない私などは不幸せ... orz)
http://www.imagemagick.org/script/command-line-options.php#limit
(ん!?もしかして area がテンポラリファイルのサイズ制限!?)



あとは、番外篇として...
Linux系OSには標準(?)で timeout コマンドがあるので、これを使って実行時間を制限することもできます。これならImageMagickに限らず実行時間を制限できます。
timeout 1 convert source.gif destination.gif
timuout コマンドについて詳しくは man を見てネ(はぁと

cronのエスケープなんて知ってました?

べんり☆べんりなスケジューラーの cron ちゃんですが。

思わぬ処で嵌ったので、またメモ。

はい、そこ!「嵌ってばっかりじゃね?」とか言わない。

http://h50146.www5.hp.com/products/software/oe/tru64unix/manual/v51a_ref/HTML/MAN/MAN1/0257____.HTM

crontab に記載するコマンド指定部分(下記赤太文字部分)に、「%」記載する場合は「\」でエスケープする必要がある。
0 6 * * * hogeuser command

エスケープしない場合、「%」以降の文字を標準入力として、「%」以前のコマンドに渡す仕様らすい。

みんな知ってた??

↓ちゅうも〜く↓
http://ja.wikipedia.org/wiki/Crontab#.E3.82.88.E3.81.8F.E3.81.82.E3.82.8B.E3.83.9F.E3.82.B9

...よくある....だってorz

MySQLで date型 のカラムと time型 のカラムを合体させて datetime型 にする方法

びみょーに嵌ってしまったのでメモ。

SELECT ADDTIME(`date_column`, `time_column`) FROM hogehoge;

でおk。

詳しくは↓
http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.html#function_addtime

もちろんWHERE句で now() なんかとも比較できる。

Google Chrome 拡張の RSS Subscription に livedoor Reader を追加する

RSS Subscription のオプション画面を表示して、[追加]ボタンをクリックします。

[説明]には(適当に)「livedoor Reader」と入力、
[URL]に「http://reader.livedoor.com/subscribe/%s」と入力して、
[保存]ボタンのクリックでおk

TortoiseSVN の 1.6.8.19260 を入れてからアイコンのオーバーレイがされないYO

首記のとおりです。

しかし、Windows200の話です。・・・。

すみません。すみません。


「更新のチェック」も動かないや。

ううう。
q
Adwires
「Adwires広告」ブログパーツは、サービスを終了しました。
QRコード
QRコード
デイリー4コマ
「デイリー4コマ」ブログパーツは、サービスを終了しました。
livedoor ポイント受取り
このブログにポイントをあげる
あわせて読みたい
あわせて読みたい
  • ライブドアブログ