Kuyruk Bakımı
Kuyrukları temizleyen, boyutlarını ölçen ve geri yükleme uyarısını yöneten beş uç.
Genel Bakış
Kuyruklar zamanla büyür. Bu beş uç bakımla ilgilenir: eski işleri temizlemek, tabloların ne kadar yer tuttuğunu görmek ve veritabanı geri yüklendiğinde çıkan uyarıyı yönetmek.
Temizlik iki adımdır. Ön izleme sayar ve hiçbir şey silmez; çalıştırma ise saklama süresini aşmış işleri kalıcı olarak kaldırır. Ölçüt görev ayarlarındaki saklama günleridir.
Geri yükleme uyarısı, otomasyonun uzun süre sessiz kaldığını fark ettiğinde doğar. Bu genellikle veritabanının eski bir yedekten geri yüklendiği anlamına gelir; kuyrukta yeniden koşacak ya da çoktan geçmiş işler bulunabilir.
Referans
Temizliği Ön İzleme
Saklama kurallarına göre kaç işin silineceğini gösterir.
curl 'https://panel.ornek.com/api/v1/admin/automation/cleanup/preview' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/automation/cleanup/preview', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
const willGo = data.completed + data.cancelled + data.failed;$ch = curl_init('https://panel.ornek.com/api/v1/admin/automation/cleanup/preview');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bu uc SAYAR, silmez; temizlikten once her zaman buradan bakin.
$plan = Api::Automation()->PreviewAutomationCleanup()['data'];
if ($plan['completed'] + $plan['cancelled'] + $plan['failed'] > 0)
Api::Automation()->RunAutomationCleanup();Temizliği Çalıştırma
Saklama süresini aşmış işleri kalıcı olarak siler.
curl -X POST 'https://panel.ornek.com/api/v1/admin/automation/cleanup/run' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/automation/cleanup/run', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();
console.log(data.deleted, data.breakdown);$ch = curl_init('https://panel.ornek.com/api/v1/admin/automation/cleanup/run');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Silinen isler geri gelmez: dusen islerin hata mesajlari da onlarla birlikte gider.
$r = Api::Automation()->RunAutomationCleanup()['data'];Tablo Boyutlarını Okuma
Üç kuyruk tablosunun satır sayısını ve ortalama veri boyutunu döndürür.
curl 'https://panel.ornek.com/api/v1/admin/automation/table-stats' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/automation/table-stats', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/automation/table-stats');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Satir sayisi degil SATIR x ORTALAMA BOYUT buyumeyi anlatir; ikisini birlikte okuyun.
$t = Api::Automation()->GetAutomationTableStats()['data'];
$approx = $t['cronjob_queue']['rows'] * $t['cronjob_queue']['avg_payload'];Geri Yükleme Uyarısını Kapatma
Geri yükleme şüphesi uyarısını kaldırır.
curl -X POST 'https://panel.ornek.com/api/v1/admin/automation/restore/dismiss' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/automation/restore/dismiss', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/automation/restore/dismiss');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Uyariyi kapatmak SEBEBI ortadan kaldirmaz; once bosluk nereden geldi diye bakin.
$s = Api::Automation()->GetAutomationSettings()['data'];
if ($s['restore']['suspected_at'] !== null)
Api::Automation()->DismissAutomationRestore();Geri Yükleme Uyarısını Elle Açma
Geri yükleme uyarısını elle açar. Kuyruklar temizlenmez, görevler ertelenmez.
curl -X POST 'https://panel.ornek.com/api/v1/admin/automation/restore/trigger' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/automation/restore/trigger', {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/automation/restore/trigger');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Panelde bu islem ADMIN PAROLASI ister; API'de tek kapi anahtarin kapsamidir.
Api::Automation()->TriggerAutomationRestore();Tuzaklar
Temizlik çalıştırma ucu geri alınamaz ve kaç kaydın gideceğini önceden söylemez. Ön izleme ucu tam da bunun için vardır: aynı ölçütle sayar, hiçbir şeye dokunmaz. Saklama günlerini yeni değiştirdiyseniz önizlemeye bakmadan temizlik çalıştırmak beklediğinizden çok daha fazlasını silebilir.
Temizlik düşmüş işleri de kaldırır ve onlarla birlikte hata mesajları da gider. Bir sorunu araştırırken temizlik çalıştırmak, aradığınız kanıtı ortadan kaldırabilir. Düşen işlerin saklama süresini tamamlananlardan uzun tutmak bu yüzden mantıklıdır.
Tablo istatistikleri hem satır sayısını hem ortalama veri boyutunu verir. Az satırlı ama büyük veri taşıyan bir kuyruk, çok satırlı küçük bir kuyruktan daha fazla yer tutabilir. Büyümeyi izlerken ikisini çarpın; yalnız satır saymak yanıltır.
Geri yükleme uyarısını kapatmak yalnız işareti siler; kuyruğun neden uzun süre sessiz kaldığını değiştirmez. Uyarıyı otomasyon kendisi açtıysa bekleyen işler zaten kaldırılmış, açık görevler ileri alınmıştır. Kapatmak bunları geri getirmez. Kapatmadan önce son işlerin tarihlerine bakın.
Panelde geri yükleme uyarısını elle açmak için yönetici parolası gerekir; bu uçta tek kapı anahtarın kapsamıdır. Yani bu kapsamı taşıyan bir anahtar, panelde ek doğrulama gerektiren bir işlemi doğrudan yapabilir. Anahtarları dağıtırken bu farkı gözetin.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.