phing と yui コンプレッサーを使用していくつかのタスクを自動化していますが、メモリの問題が発生しています。これを処理するためのより良い方法があるかどうか、私は興味があります。
phing ビルド スクリプトの一部
<target name="finalize">
<property name="cssfolders" value="folder1, folder2, folder3" />
<foreach list="${cssfolders}" param="dir" target="minifyCSS" />
<property name="jsfolders" value="folder1, folder2, folder3" />
<foreach list="${jsfolders}" param="dir" target="minifyJS" />
</target>
<target name="minifyCSS">
<exec command="find ${dir}/dev -name '*.css' -exec basename {} \; | while read file; do java -jar ${yuiCompressor} -o ${dir}/prod/$file ${dir}/dev/$file; done" />
</target>
<target name="minifyJS">
<exec command="find ${dir}/dev -name '*.js' -exec basename {} \; | while read file; do java -jar ${yuiCompressor} -o ${dir}/prod/$file ${dir}/dev/$file; done" />
</target>
finalize ターゲットを css 用と js 用の 2 つに分割すると、スクリプトは機能します。しかし、それらを組み合わせたままにしておくと、問題が発生します。誰もがターゲットを分割するように言う前に、私はそれで問題ありませんが、より多くの JS ファイルが追加されると、最終的にこの問題に再び遭遇するのではないかと心配しています。
PHPのメモリ使用量を継続的に監視して増加させることなく、計画を実行するためのより良い方法があるかどうか興味があります。おそらく、より効率的なコマンドを実行するか、割り当てられたリソースを使い果たした場合により多くのメモリまたはディスクを使用できるようにするphp関数を利用しますか?
サイド プロジェクト - ミニファイ ターゲットを 1 つに結合する方法を知っている人への称賛。それらは実質的に同じですが、それぞれについて「検索」するファイルの種類 (css または js) を知る必要があります。ターゲットが 1 つだけの場合にこれを処理する方法があれば、知りたいです。:)