LightFile NextLightFile Next

ファイル処理とフィルタ

ファイル処理、フィルタリング、トラブルシューティングのベストプラクティス

ファイル処理関連

ファイルが処理されない

症状: 処理対象ファイルが0件と表示される。

確認すべきポイント:

  1. ディレクトリを確認:

    ls /path/to/images
  2. 拡張子を確認:

    # 対応している拡張子を明示的に指定
    lightfile-batch local /path/to/images --ext .jpg,.jpeg,.jfif,.png
  3. ファイルサイズを確認:

    # サイズ制限を緩和
    lightfile-batch local /path/to/images --min-size 1kb --max-size 100mb
  4. ドライランで確認:

    lightfile-batch local /path/to/images --dry-run --verbose
  5. 除外パターンを確認:

    # 除外パターンを削除して実行
    lightfile-batch local /path/to/images

ファイルの最適化に失敗

症状:

ファイルの最適化に失敗しました: /path/to/image.jpg (エラー: unsupported format)

診断方法:

  1. ファイル形式を確認:

    file /path/to/image.jpg
  2. 破損チェック:

    # ImageMagickがあれば
    identify /path/to/image.jpg
  3. 別の画像ビューアで開けるか確認

  4. 詳細ログで原因を特定:

    lightfile-batch local /path/to/images --verbose --log-level debug

ファイルの書き込みに失敗

症状:

最適化されたファイルの書き出しに失敗しました: /path/to/image.jpg

確認すべきポイント:

  1. ディスク容量を確認:

    # Linux/macOS
    df -h /path/to/images
    
    # Windows
    dir /path/to/images
  2. パーミッションを確認:

    # Linux/macOS
    ls -l /path/to/image.jpg
    
    # 書き込み権限を付与
    chmod u+w /path/to/image.jpg
  3. ディレクトリのパーミッションを確認:

    ls -ld /path/to/images
    chmod u+w /path/to/images

すべてのファイルがスキップされる

症状: すべてのファイルが「既に最適化されています」とスキップされる。

対処法:

  1. 品質設定を変更:

    # より強力な圧縮を試す
    lightfile-batch local /path/to/images --quality low
  2. 詳細ログで確認:

    lightfile-batch local /path/to/images --verbose
  3. メモリ(KVS)をクリア:

    # プロジェクトのメモリディレクトリを削除
    rm -rf ~/.lightfile-next/batch/*/memory
    lightfile-batch local /path/to/images

その他の問題

進捗が更新されない

症状: 進捗表示がフリーズしているように見える。

よくある原因: 大きなファイルの処理中、または並列処理数が多すぎる場合に発生します。

対処法:

  1. 詳細ログで確認:

    lightfile-batch local /path/to/images --verbose
  2. 並列処理数を調整:

    lightfile-batch local /path/to/images --concurrency 2
  3. プロセスが動いているか確認:

    # Linux/macOS
    ps aux | grep lightfile-batch
    
    # Windows
    tasklist | findstr lightfile-batch

Ctrl+C で止まらない

症状: Ctrl+C を押しても処理が終了しない。

これは正常な動作です: 処理中のファイルが完了するまで待機しています(通常数秒〜数十秒)。

すぐに停止したい場合:

# Linux/macOS
killall -9 lightfile-batch

# Windows
taskkill /F /IM lightfile-batch.exe

注意: 強制終了すると、処理中のファイルが破損する可能性があります。

トラブルシューティングのベストプラクティス

1. まずドライランで確認

lightfile-batch local /path/to/images --dry-run --verbose

2. 詳細ログを有効化

lightfile-batch local /path/to/images --log-level debug --verbose

3. 段階的に設定を追加

# 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 4

4. YAML設定ファイルをテスト

# YAML構文を確認
cat config.yaml | python -m yaml

# 設定ファイルで実行
lightfile-batch --config config.yaml --dry-run --verbose

5. バックアップを有効化してテスト

# バックアップモードで安全にテスト
lightfile-batch local /path/to/images --backup-mode strict --dry-run