🚨 Kritik Seviye Hatalar (Mutlaka Çözülmeli)
Hata Sıklığı: Her 5 dakikada bir tekrarlıyor (24 saat boyunca durmadan)
Etkilenen Tenant'lar: Tüm aktif tenant'lar (Tenant 1, 2, 1001)
Sorunun Kaynağı:
Cache'den gelen response_time değeri array formatında. Bu değer direkt olarak veritabanına insert edilmeye çalışıldığında "Array to string conversion" hatası veriyor.
// Modules/TenantManagement/app/Services/RealTimeResourceTracker.php:238
'response_time_ms' => $metrics['response_time'], // ← Array gelirse hata!
// Line 162-163: Cache'den gelen değer kontrol edilmiyor
private function getRealResponseTime(Tenant $tenant)
{
$cacheKey = "response_time_{$tenant->id}_" . Carbon::now()->format('Y-m-d-H');
return Cache::get($cacheKey, 0); // Array dönerse sorun!
}
Arkaplanda İşlem Yokken Neden Çalışıyor?
Scheduled task (cron) her 5 dakikada bir TrackTenantResources command'ını çalıştırıyor. Kullanıcı işlem yapmasa bile sistem metrikleri sürekli toplanıyor.
✅ Çözüm Önerileri
- Acil:
getRealResponseTime() metodunda dönen değerin tip kontrolü yapılmalı (array ise ortalama alınmalı veya 0 dönmeli)
- Kalıcı: Cache'e yazılan
response_time değerinin her zaman numeric olduğunu garanti et
- Geçici: Try-catch bloğunu güçlendir, array gelirse log at ve 0 kullan
- İzleme: Scheduled task sıklığını azalt (5dk → 15dk) veya hata durumunda skip yap
⏰ İlk Görülme: 2025-12-04 02:05:05 | Son Görülme: 2025-12-04 05:30+ (devam ediyor)
Etkilenen Worker'lar:
- ❌ laravel-queue-general (çalışmıyor)
- ❌ laravel-queue-tenant (çalışmıyor)
- ❌ laravel-queue-ai (çalışmıyor)
- ❌ laravel-horizon (çalışmıyor)
Sorun: Queue health check her çalıştığında worker'ları yeniden başlatmaya çalışıyor ama başarılı olamıyor. Tüm restart denemeleri başarısız.
🔧 Queue Worker Durumu Kontrol Ediliyor...
❌ laravel-queue-general çalışmıyor. Yeniden başlatılıyor...
🚨 laravel-queue-general yeniden başlatılamadı!
❌ laravel-queue-tenant çalışmıyor. Yeniden başlatılıyor...
🚨 laravel-queue-tenant yeniden başlatılamadı!
Etkisi:
• Job'lar işlenmiyor (email, AI generation, arka plan işlemleri)
• Horizon dashboard çalışmıyor
• Asenkron işlemler senkron çalışıyor (performans kaybı)
✅ Çözüm Önerileri
- 1. Supervisor durumunu kontrol et:
supervisorctl status
- 2. Supervisor config dosyalarını incele:
/etc/supervisor/conf.d/laravel-*.conf
- 3. Log dosyalarını kontrol et:
storage/logs/worker.log
- 4. Manuel restart dene:
supervisorctl restart laravel-horizon
- 5. Horizon optimize et: CLAUDE.md'de belirtilen maxProcesses ayarlarını kontrol et
⏰ Durum: Sürekli (Her queue-health check'te tekrarlıyor - her 5 dakikada bir)
Hata Sıklığı: 48 kez tekrarlandı (Tenant 2 - ixtif.com)
Hata Mesajı:
SSL: no alternative certificate subject name matches target host name 'api.openai.com'
Etkilenen Özellik: Blog AI Content Generation (otomatik blog yazma)
[2025-12-04 04:00:40] local.ERROR: OpenAI streaming API hatası:
OpenAI streaming error: SSL: no alternative certificate subject name
matches target host name 'api.openai.com'
❌ HowTo generation failed - Generating fallback
❌ FAQ generation failed to parse
❌ Auto SEO Fill: AI önerileri alınamadı
Neden Oluyor?
Sunucuda SSL sertifika doğrulaması sırasında OpenAI'ın SSL sertifikasının hostname'i ile eşleşmiyor. cURL SSL ayarları veya CA bundle sorunu olabilir.
✅ Çözüm Önerileri
- 1. CA bundle'ı güncelle:
yum update ca-certificates
- 2. OpenAI client SSL ayarlarını kontrol et (Guzzle verify seçeneği)
- 3. cURL versiyonunu kontrol et:
curl --version
- 4. Test et:
curl -v https://api.openai.com/
- Geçici: SSL doğrulamasını devre dışı bırak (sadece test için, production'da kullanma!)
⏰ İlk Görülme: 2025-12-04 04:00:40 | Tekrar: 48 kez (Blog AI job'ları çalışırken)
⚠️ Orta Seviye Hatalar (Önemli)
Hata Sıklığı: 18 kez (ixtif.com mega-menu yüklenirken)
Hata:
SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
Etkilenen Dosya:
resources/views/themes/ixtif/partials/mega-menu-products.blade.php
SQL: select * from `media`
where `media`.`model_id` in (1022)
and `media`.`model_type` = Modules\Shop\App\Models\ShopProduct
Connection: tenant (ama database seçili değil!)
Sorun:
Mega-menu render edilirken tenant context kaybolmuş, media ilişkileri çağrılırken tenant database bağlantısı seçili değil.
✅ Çözüm Önerileri
- 1.
mega-menu-products.blade.php dosyasını incele, eager loading kontrolü yap
- 2. Tenant middleware'inin doğru sırada olduğundan emin ol
- 3. ShopProduct modeli media ilişkisini tenant-aware yap
- 4. View cache temizle:
php artisan view:clear
⏰ Görülme: Sporadic (Mega-menu yüklenirken, her zaman değil)
Hata:
Class "Modules\Mail\Http\Controllers\MailController" does not exist
Hata Sıklığı: 2 kez
✅ Çözüm Önerileri
- 1. Mail modülünün kurulu olduğunu kontrol et
- 2. Route'larda kullanılmayan controller referansını temizle
- 3.
composer dump-autoload çalıştır
⏰ Görülme: Nadir (Route yüklenirken)