Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İşletme

Referans

Zamanlanmış işler ve saklama

Bir Linux düğümünün cron tablosu, sunucu içi arka plan döngüleri, lider kilitleri ve günlük, kayıt ve kontrol düzlemi saklama geçişleri.

Cluster ERP dönemsel işleri iki yerde koşar: servis kullanıcısının cron tablosu deploy/cluster-erp.cron ve her sunucu işçisinin src/cluster_erp/server/app.py içinde başlattığı arka plan döngüleri. Bu sayfa ikisini, bir döngüyü tek bir işçide tutan kilidi ve app.py ile src/cluster_erp/server/control_retention.py içindeki saklama geçişlerini listeler. Yöneticinin yapılandırdığı kayıt saklama penceresi records modülü sayfasında açıklanır.

Kapsam ve kaynak

  • Tanımlandığı yer: deploy/cluster-erp.cron, src/cluster_erp/server/app.py (lifespan, _leader ve _*_loop işlevleri), src/cluster_erp/server/control_retention.py (sweep_control_plane), src/cluster_erp/server/membership.py.
  • Sayı: dosyadan sayılan dört cron girdisi (ikisi etkin, ikisi yorum hâlinde); lifespan içindeki asyncio.create_task çağrılarından sayılan dört arka plan döngüsü ve bir tek seferlik arka plan görevi (src/cluster_erp/server/app.py:164-194).

Bir düğümün tam cron saatleri dağıtım verisidir; tablo yalnız sıklığı verir.

Cron girdileri

Girdi Sıklık Komut Durum Kaynak
Filo yedeği her gün python -m cluster_erp.server.backup_tenants etkin deploy/cluster-erp.cron:4-7
Üyelik taraması her gün, yedekten sonra python -m cluster_erp.server.membership sweep etkin deploy/cluster-erp.cron:9-11
Soğuk CSV dışa aktarımı her gün scripts/backup/pg_cold_storage_export.sh yorum hâlinde deploy/cluster-erp.cron:13-19
Temel yedek her hafta yedek rolüyle pg_basebackup yorum hâlinde deploy/cluster-erp.cron:21-25

install.sh dosyayı her çalıştırmada servis kullanıcısının cron tablosu olarak kurar (deploy/install.sh:210). Cron açıklaması üyelik taramasını süreç içi döngünün yanında ikinci bir savunma hattı olarak anar (deploy/cluster-erp.cron:9-10).

Arka plan döngüleri

Döngü Aralık Lider kilidi adı Veritabanları İş Kaynak
_retention_purge_loop 24 saat retention_purge varsayılan ve askıdakiler dahil her kiracı Günlük saklama, ardından kayıt saklama penceresiyle purge_expired, ardından RetentionSweep olayı src/cluster_erp/server/app.py:404-458
_subscription_sweep_loop 24 saat subscription_sweep etkin kiracılar Abonelikleri ilerletir, yeniler veya sona erdirir; olaylar commit'ten sonra src/cluster_erp/server/app.py:504-544
_analytics_summary_loop analytics_summary_refresh_seconds; 0 kapatır analytics_summary etkin kiracılar Analitik özet hücrelerini tazeler src/cluster_erp/server/app.py:461-501
_membership_expiry_loop 24 saat, yalnız çok kiracılı kontrol düzleminde membership_expiry kontrol düzlemi Süresi dolan üyelikleri askıya alır, ardından kontrol düzlemi saklamasını koşar src/cluster_erp/server/app.py:372-401
_audit_redaction_backfill bir kez, açılışta yok varsayılan ve her kiracı Eski audit_log birikimini toplu olarak maskeler src/cluster_erp/server/app.py:314-334

Her 24 saatlik döngü önce uyur; bu yüzden açılışta hiç koşmaz; açılış bunun yerine kendi telafi geçişlerini koşar (src/cluster_erp/server/app.py:158-193). Başarısız olan bir veritabanı günlüğe yazılır ve döngü sonraki veritabanıyla sürer (src/cluster_erp/server/app.py:452-454, src/cluster_erp/server/app.py:538-540).

Açılış geçişleri

Geçiş Kaynak
Varsayılan veritabanında ve her kiracıda günlük saklama src/cluster_erp/server/app.py:158-160
Silme defterinin yeniden oynatılması src/cluster_erp/server/app.py:165-168
Üyelik süresi taraması, yalnız çok kiracılı src/cluster_erp/server/app.py:180-185
Kontrol düzlemi saklaması, yalnız çok kiracılı src/cluster_erp/server/app.py:186-193

Lider kilidi

_leader, geçişin hizmet ettiği veritabanında cluster_erp:<name> değerinden CRC-32 ile türetilen anahtarla pg_try_advisory_lock alır. Kilidi alan işçi geçişi koşar; diğerleri atlar. Kilit geçişin sonunda bırakılır; böylece çöken bir işçi sonrakini hiç engellemez (src/cluster_erp/server/app.py:357-369).

Günlük saklama

_daily_log_retention varsayılan veritabanında ve askıdakiler dahil her kiracıda koşar (src/cluster_erp/server/app.py:1267-1284). Her veritabanında:

  1. jeton kara listesinin süresi dolan satırlarını siler (src/cluster_erp/server/app.py:1168-1193);
  2. activity_log_retention_days değerinden eski activity_log satırlarını ve error_log_retention_days değerinden eski error_log satırlarını log_purge_batch_rows boyutlu topluluklar hâlinde siler (src/cluster_erp/server/app.py:1196-1245);
  3. hiçbir şey silinmese bile logs türünde bir kanıt satırı yazar (src/cluster_erp/server/app.py:1246-1263).

Kontrol düzlemi saklaması

sweep_control_plane çok kiracılı bir düğümde açılışta ve her gün, istendiğinde de python -m cluster_erp.server.membership retention ile koşar (src/cluster_erp/server/membership.py:137-142). Her geçiş control_retention_runs tablosuna bir satır yazar (src/cluster_erp/server/control_retention.py:170-171).

Adım Pencere ayarı Etkisi Kaynak
Hız sınırı satırları control_rate_limit_retention_hours control_rate_limits tablosunun pencereden eski satırlarını siler. src/cluster_erp/server/control_retention.py:85-93
Terk edilmiş ve iptal edilmiş kayıtlar signup_verify_ttl_hours artı control_signup_retention_days Bağlantı ömrü artı pencereyi aşmış doğrulanmamış kuyruktaki üyelikleri ve pencereyi aşmış iptal edilmiş olanları siler. src/cluster_erp/server/control_retention.py:95-110
Sahipsiz kayıtlar yok Hiç üyeliği kalmamış, provisioning durumundaki bir kiracı satırını yumuşak siler. src/cluster_erp/server/control_retention.py:112-122
Emekli kayıtlar control_signup_retention_days Pencereyi aşmış yumuşak silinmiş kiracı satırlarının adını ve posta alan adlarını değiştirir. src/cluster_erp/server/control_retention.py:124-135
Operatör eylemleri control_actions_retention_years Pencereden eski operatör eylem kayıtlarını siler. src/cluster_erp/server/control_retention.py:137-145
Etkin olmayan operatörler control_actions_retention_years Uzun süredir etkin olmayan operatör hesaplarının kullanıcı adını, parola hash'ini ve ikinci faktör sırrını değiştirir. src/cluster_erp/server/control_retention.py:147-160
Kuyruktaki postalar signup_mail_spool_retention_days Kuyruğa alınmış doğrulama postası dosyalarını yalnız spool aktarımında siler. src/cluster_erp/server/control_retention.py:162-168

Etkin veya askıdaki müşterilere, üyeliklerine ve hazırlanmış kiracılara bu geçiş dokunmaz (src/cluster_erp/server/control_retention.py:30-31).

Tutarsızlıklar

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
lider kilidi _leader Bir dönemsel geçişi tek bir işçinin koşmasını, diğerlerinin atlamasını sağlayan geçiş başına danışma kilidi. lider kilidi src/cluster_erp/server/app.py:357-369
kontrol düzlemi saklama geçişi sweep_control_plane Kontrol düzlemi tabloları üzerindeki günlük silme ve anonimleştirme geçişi. kontrol düzlemi saklama geçişi src/cluster_erp/server/control_retention.py:77-175
saklama kanıt satırı record_run Bir saklama geçişinin neyi kaldırdığını kaydeden satır. saklama kanıt satırı src/cluster_erp/modules/records/retention/services.py:20-26

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13