Membuat dokumentasi komprehensif untuk semua command cleanup dengan contoh penggunaan dan troubleshooting guide - Dokumentasi untuk 3 command utama: lpj:cleanup-inspeksi, lpj:cleanup-single-inspeksi, dan lpj:cleanup-inspeksi-status - Usage examples untuk setiap command dengan berbagai opsi (--sync, --force, --dry-run, --detailed) - Penjelasan alur kerja cleanup (identifikasi → proses → logging → transaction) - Informasi scheduling otomatis (setiap hari jam 2 pagi dan mingguan) - Lokasi log files untuk monitoring dan troubleshooting - Troubleshooting guide untuk command tidak muncul, data tidak ter-cleanup, dan performance issues - Best practices untuk data besar dengan mode queue vs sync
3.2 KiB
Console Commands untuk Cleanup Data Inspeksi
Daftar Command
1. lpj:cleanup-inspeksi
Command utama untuk cleanup data inspeksi secara batch.
Usage:
php artisan lpj:cleanup-inspeksi [options]
Options:
--permohonan-id=ID- Filter berdasarkan permohonan ID (opsional)--sync- Jalankan secara synchronous--dry-run- Tampilkan preview tanpa menjalankan cleanup--force- Jalankan tanpa konfirmasi
Contoh Penggunaan:
# Preview data yang akan di-cleanup
php artisan lpj:cleanup-inspeksi --dry-run
# Cleanup semua data (dengan konfirmasi)
php artisan lpj:cleanup-inspeksi
# Cleanup untuk permohonan tertentu
php artisan lpj:cleanup-inspeksi --permohonan-id=123 --force
# Jalankan secara sync
php artisan lpj:cleanup-inspeksi --sync --force
2. lpj:cleanup-single-inspeksi
Command untuk cleanup 1 permohonan dan user tertentu.
Usage:
php artisan lpj:cleanup-single-inspeksi <permohonan-id> <created-by> [options]
Arguments:
permohonan-id- ID permohonan yang akan di-cleanup (required)created-by- ID user yang membuat data (required)
Options:
--sync- Jalankan secara synchronous--force- Jalankan tanpa konfirmasi
Contoh Penggunaan:
# Cleanup untuk permohonan 123 oleh user 456
php artisan lpj:cleanup-single-inspeksi 123 456
# Jalankan secara sync tanpa konfirmasi
php artisan lpj:cleanup-single-inspeksi 123 456 --sync --force
3. lpj:cleanup-inspeksi-status
Command untuk mengecek status data inspeksi dan melihat statistik cleanup.
Usage:
php artisan lpj:cleanup-inspeksi-status [options]
Options:
--permohonan-id=ID- Filter berdasarkan permohonan ID--created-by=ID- Filter berdasarkan user ID--detailed- Tampilkan detail data
Contoh Penggunaan:
# Lihat statistik umum
php artisan lpj:cleanup-inspeksi-status
# Filter berdasarkan permohonan
php artisan lpj:cleanup-inspeksi-status --permohonan-id=123
# Tampilkan detail data
php artisan lpj:cleanup-inspeksi-status --detailed
Scheduling
Command cleanup otomatis dijalankan setiap hari jam 2 pagi dan setiap minggu. Konfigurasi scheduling ada di LpjServiceProvider.php.
Monitoring
Semua aktivitas cleanup dicatat di log file:
storage/logs/laravel.log- Log umumstorage/logs/cleanup-inspeksi.log- Log cleanup harianstorage/logs/cleanup-inspeksi-weekly.log- Log cleanup mingguan
Alur Kerja Cleanup
-
Identifikasi: Cari data inspeksi yang memiliki:
- Data baru dengan
dokument_id(tidak null) - Data lama tanpa
dokument_id(null) - Sama
permohonan_iddancreated_by
- Data baru dengan
-
Proses: Soft delete data lama menggunakan Laravel SoftDeletes
-
Logging: Catat setiap operasi untuk audit trail
-
Transaction: Gunakan DB transaction untuk konsistensi data
Troubleshooting
Command tidak muncul
Pastikan service provider sudah diregister dengan benar:
php artisan list | grep lpj
Data tidak ter-cleanup
- Cek log untuk error
- Pastikan ada data yang memenuhi kriteria
- Gunakan
--dry-rununtuk preview - Gunakan
--detaileduntuk melihat detail data
Performance
Untuk data besar, gunakan mode queue (default) daripada --sync