ファイル処理とフィルタ
ファイル処理関連
ファイルが処理されない
症状: 処理対象ファイルが0件と表示される。
確認すべきポイント:
ディレクトリを確認:
bashls /path/to/images拡張子を確認:
bash# 対応している拡張子を明示的に指定 lightfile-batch local /path/to/images --ext .jpg,.jpeg,.jfif,.pngファイルサイズを確認:
bash# サイズ制限を緩和 lightfile-batch local /path/to/images --min-size 1kb --max-size 100mbドライランで確認:
bashlightfile-batch local /path/to/images --dry-run --verbose除外パターンを確認:
bash# 除外パターンを削除して実行 lightfile-batch local /path/to/images
ファイルの最適化に失敗
症状:
ファイルの最適化に失敗しました: /path/to/image.jpg (エラー: unsupported format)診断方法:
ファイル形式を確認:
bashfile /path/to/image.jpg破損チェック:
bash# ImageMagickがあれば identify /path/to/image.jpg別の画像ビューアで開けるか確認
詳細ログで原因を特定:
bashlightfile-batch local /path/to/images --verbose --log-level debug
ファイルの書き込みに失敗
症状:
最適化されたファイルの書き出しに失敗しました: /path/to/image.jpg確認すべきポイント:
ディスク容量を確認:
bash# Linux/macOS df -h /path/to/images # Windows dir /path/to/imagesパーミッションを確認:
bash# Linux/macOS ls -l /path/to/image.jpg # 書き込み権限を付与 chmod u+w /path/to/image.jpgディレクトリのパーミッションを確認:
bashls -ld /path/to/images chmod u+w /path/to/images
すべてのファイルがスキップされる
症状: すべてのファイルが「既に最適化されています」とスキップされる。
対処法:
品質設定を変更:
bash# より強力な圧縮を試す lightfile-batch local /path/to/images --quality low詳細ログで確認:
bashlightfile-batch local /path/to/images --verboseメモリ(KVS)をクリア:
bash# プロジェクトのメモリディレクトリを削除 rm -rf ~/.lightfile-next/batch/*/memory lightfile-batch local /path/to/images
その他の問題
進捗が更新されない
症状: 進捗表示がフリーズしているように見える。
よくある原因: 大きなファイルの処理中、または並列処理数が多すぎる場合に発生します。
対処法:
詳細ログで確認:
bashlightfile-batch local /path/to/images --verbose並列処理数を調整:
bashlightfile-batch local /path/to/images --concurrency 2プロセスが動いているか確認:
bash# Linux/macOS ps aux | grep lightfile-batch # Windows tasklist | findstr lightfile-batch
Ctrl+C で止まらない
症状: Ctrl+C を押しても処理が終了しない。
これは正常な動作です: 処理中のファイルが完了するまで待機しています(通常数秒〜数十秒)。
すぐに停止したい場合:
bash
# Linux/macOS
killall -9 lightfile-batch
# Windows
taskkill /F /IM lightfile-batch.exe注意: 強制終了すると、処理中のファイルが破損する可能性を否定できません。
トラブルシューティングのベストプラクティス
1. まずドライランで確認
bash
lightfile-batch local /path/to/images --dry-run --verbose2. 詳細ログを有効化
bash
lightfile-batch local /path/to/images --log-level debug --verbose3. 段階的に設定を追加
bash
# 1. 最もシンプルな実行
lightfile-batch local /path/to/images
# 2. フィルタを追加
lightfile-batch local /path/to/images --min-size 10kb
# 3. 品質設定を追加
lightfile-batch local /path/to/images --min-size 10kb --quality high
# 4. 並列処理を追加
lightfile-batch local /path/to/images --min-size 10kb --quality high --concurrency 44. YAML設定ファイルをテスト
bash
# YAML構文を確認
cat config.yaml | python -m yaml
# 設定ファイルで実行
lightfile-batch --config config.yaml --dry-run --verbose5. バックアップを有効化してテスト
bash
# バックアップモードで安全にテスト
lightfile-batch local /path/to/images --backup-mode strict --dry-run