28,211 şarkı için HLS dönüşümü ve AI görsel üretimi stratejisi
Ne Yapılacak?
Muzibu platformundaki 28,211 şarkının tamamı için iki işlem yapılacak:
Neden Önemli?
HLS formatı sayesinde kullanıcılar şarkıları daha hızlı ve kesintisiz dinleyecek.
AI görseller sayesinde her şarkının çekici bir kapak fotoğrafı olacak.
Sorun Neydi?
Dün toplu işleme yapıldı ama Leonardo AI (görsel üretim servisi) çok fazla istek gelince
"yavaşla" dedi ve 29,000 işlem başarısız oldu. HLS dönüşümü sorunsuz çalışıyor.
Çözüm:
Bu sefer daha yavaş ve kontrollü ilerleyeceğiz. Günde 500-1,000 görsel, HLS için limit yok.
Böylece sistem yorulmadan 3-5 gün içinde tüm şarkılar tamamlanacak.
ConvertToHLSJob - FFmpeg ile AAC encodingmuzibu_tenant_1001_hlsstorage/tenant1001/app/public/muzibu/hls/{song_id}/playlist.m3u8muzibu_songs.hls_pathGenerateSongCover job → MuzibuLeonardoAIServicemuzibu_my_playlistfailed_jobs table)bash /tmp/bulk-all-songs.sh
14 batch × 2,000 şarkı işleyecek
https://muzibu.com/horizon
Queue durumunu ve worker'ları izle
php artisan tinker
Her 4-6 saatte HLS tamamlanan sayısını kontrol et
php artisan muzibu:bulk-process 1000
Her gün 1,000 şarkı için AI görsel üret (rate limit friendly)
0 8 * * * cd /var/www/.../httpdocs && php artisan muzibu:bulk-process 1000
php artisan queue:retry all
29,216 job'u yeniden kuyruğa ekle
bash /tmp/bulk-all-songs.sh
php artisan muzibu:bulk-process 1000
php artisan queue:retry all
php artisan tinker
tenancy()->initialize(1001);
$total = DB::connection('tenant')->table('muzibu_songs')->where('is_active', true)->count();
$hls = DB::connection('tenant')->table('muzibu_songs')->whereNotNull('hls_path')->count();
$ai = DB::connection('tenant')->table('media')->where('model_type', 'LIKE', '%Song%')->count();
echo "Total: $total | HLS: $hls | AI: $ai\n";
php artisan horizon:status
ps aux | grep horizon | wc -l
| Kriter | Güvenli Yöntem (2A) | Hızlı Yöntem (2B) |
|---|---|---|
| Tamamlanma Süresi | 3-4 hafta | 1-2 gün |
| Rate Limit Riski | Çok Düşük ✓ | Yüksek ✗ |
| API Maliyet | Kontrollü ✓ | Hızla Tükenir |
| Failed Job Riski | Minimal ✓ | Yüksek ✗ |
| Sistem Yükü | Düşük ✓ | Yüksek ✗ |
| Önerilen | ÖNERİLEN ✓ | RİSKLİ ✗ |
FAZ 1: HLS'i toplu işle (1-2 gün, risk yok)
FAZ 2A: AI görselleri günlük 1,000 batch ile işle (3-4 hafta, güvenli)
Bu yöntem Leonardo API'yi zorlamaz, kredi kontrollü harcanır, sistem stabil kalır.
Kullanıcılar 1-2 gün içinde HLS ile kesintisiz müzik dinleyebilir, görseller zamanla tamamlanır.
Şimdi başlatılabilir, 1-2 günde tamamlanır
Güvenli yöntem (2A) veya hızlı yöntem (2B)? Kullanıcı onayı gerekli
Dashboard'u sürekli aç, queue ve worker durumunu izle
Her gün saat 18:00'de ilerleme raporu al