lilydocs
HTTP APIWebSocketConsumer
Pipeline2 dk okuma

Mesaj yaşam döngüsü

Route lookup’tan scope temizliğine kadar mesajın izlediği sırayı ve kesintide değişen çıkış yolunu öğrenin.

Bağlantı başına bir normal action aktiftir. Reader, complete application mesajlarını bounded kuyruğa alabilir; Ping, Pong ve Close frame'lerini action'ın bitmesini beklemeden yönetir. Farklı bağlantılar aynı controller'ı eşzamanlı çağırabilir.

Normal sıra#

Bir mesajın akışı
Frame decode ve exact route lookup
  → mesaj için DI scope ve kimlik snapshot'ı
  → before_message: global → controller → action
  → guard: global → controller → action
  → bütün parts extractor'ları → tek payload consumer
  → action ve response hazırlığı
  → after_message: girilen middleware'ler ters sırada
  → scope cleanup ve terminal sonuç yolu

Bilinmeyen route kullanıcı mesaj hook'larına girmez. Kuyrukta bekleyen mesajlar henüz Scoped servis veya action task'ı sahibi değildir. Guard ve action aynı mesajın frozen Principal'ını görür.

Policy planları#

Global politika app builder'dan, controller ve action politikaları attribute'lardan gelir. Aynı effective plan içinde concrete tip tekrarı build hatasıdır. Middleware planı sınırı 64'tür; guard planlarına aynı sayısal sınır uygulanmaz.

Instance'lar app başına concrete tip başına bir kez kurulur. Sıralı callback'ler içinde state gerekiyorsa mutable instance alanı yerine typed message local veya uygun scoped servis kullanın. Context sayfası bu aktarımı gösterir.

Bir normal deadline#

Before middleware, guard, extraction, action, response hazırlığı ve normal reverse exit aynı absolute deadline'ı paylaşır. Her guard'a veya after callback'e yeni tam süre başlamaz. Action timeout'u controller default'unu, controller app default'unu override eder.

Inbound bekleme, transport write, scope disposal ve termination cleanup farklı sınırlara tabidir. Deadline sayfasındaki cooperation penceresi normal bütçeyi yeniden başlatmaz.

Kesintide çıkış#

before_message Continue dönen middleware entered sayılır. Bu prefix normalde ters sırada after_message ile çıkar. Execution kesilirse normal çıkışı başlamamış veya yarıda kalmış entered middleware için on_message_termination yolu vardır.

Tamamlanmış normal exit yeniden çalıştırılmaz. Yarım exit'in yan etkileri otomatik geri alınmaz. Cleanup için ayrı CleanupCancellation kullanılır; callback response'u yeniden yazmaz. Scope ve task tamamlanma kanıtları toplanmadan bir sonraki mesajın güvenle başlayacağı varsayılmaz.

Bu sırayı anladıktan sonra middleware ile normal/termination callback'lerini, guard ile authorization kararlarını ekleyin.

Bu sayfanın kaynakları v0.1.0

Anlatım, incelenen framework commit’ine dayanır.

HIZLI BAŞLANGIÇ
Dokümantasyon
Kaynak kod