ドライラン(プレビュー)
ドライラン(プレビュー)はファイルの上書きやバックアップといったファイルシステムへの副作用をもたらさず、最適化処理の動作確認ができるモードです。
実際の処理とほぼ同じ条件で動作するため、設定や処理対象ファイルの確認、最適化効果の見積もりに最適です。初めて実行する際の安全な動作確認に非常に有効です。
ドライランの動作
- ファイルの軽量化を実行 - 実際の処理と同じ最適化を行う
- 上書き保存はしない - 最適化結果をファイルに書き込まない
- バックアップも作成しない - バックアップファイルを作成しない
- 処理済みの記録に何も書かない - 次の本番実行では、すべてのファイルが通常どおり処理対象になる
- 実際の動作に近い条件で効果を確認できる
- 設定の確認や、処理対象ファイルの確認に便利
v6.0.8 までの挙動
v6.0.8 までは、ドライランで最適化に失敗したファイルをエラーとして処理済みの記録に書いていました。そのため、そのファイルは本番の実行でも、ファイルが変更されるまで再試行されませんでした。v6.0.10 から、ドライランは記録に何も書きません。
基本的な使い方
コマンドライン:
lightfile-batch /path/to/images --dry-runYAML設定ファイル:
dryRun: true
local:
dir: /path/to/images詳細ログも表示
ログレベルを debug にすると、プログラムが何を行おうとしているかを詳細に表示できます。さらに --verbose を指定すると、内部のモジュールのログも出力できます。ファイルシステムに副作用をもたらさずに、動作を詳しく追跡したいときに有効です。
コマンドライン:
lightfile-batch /path/to/images --dry-run --verbose --log-level debugYAML設定ファイル:
dryRun: true
log:
level: debug
local:
dir: /path/to/imagesリモートのジョブをドライランする
FTP・SFTP・WebDAV・S3 のジョブも同じように確かめられます。v6.0.10 から、batch.fileSystem を書いたYAML設定ファイルだけで実行できるので、本番と同じ設定ファイルに --dry-run を足すだけで済みます。
コマンドライン:
lightfile-batch -c job.yaml --dry-runYAML設定ファイル:
# job.yaml
dryRun: true # --dry-run の代わりに書いてもよい
batch:
fileSystem: ftp
dir: images # basePath の下だけを処理する
ftp:
host: ftp.example.com
user: myuser
password: mypassword
basePath: /public_html処理対象ディレクトリ(dir)が正しく反映されているか、対象ファイルの数をここで確認しておくと安全です。v6.0.8 までは FTP・SFTP・WebDAV で dir が無視され、ベースパスの下がすべて対象になっていました。
件数だけ確かめる(--scan-only)
ドライランは対象ファイルをダウンロードして最適化まで試すため、対象が多いと時間がかかります。v6.0.10 から、スキャンだけを行って件数を出す --scan-only を使えます。ダウンロードや上書きをせず、処理済みの記録にも書きません。
コマンドライン:
lightfile-batch -c job.yaml --scan-onlyYAML設定ファイル:
scanOnly: true完了のログの「最適化対象」が次の本番で処理されるファイルの数、「処理済み」が記録によって飛ばされるファイルの数です。