Skip to main content

Envelope: Raw Writer Servisi

Topic: qapu.raw-writer
DLQ: qapu.dlq.raw-writer
Producer: raw-writer-service

Raw Writer servisi, kalibre edilmiş ölçümleri segment tablolara idempotent biçimde yazar. Tüm yazımlar tamamlandığında raw.persisted.v1, herhangi bir yazım hata verdiğinde raw.failed.v1 üretilir.

Event Envanteri

EventNe zaman üretilir?ConsumerAmaç
raw.persisted.v1Tüm segment yazımları başarıyla tamamlandığındaSynthesis ServisiSentez adımını tetiklemek
raw.failed.v1Herhangi bir segment yazımı hatayla sonlandığındaObserverHata görünürlüğü ve replay

raw.persisted.v1

Özet

BaşlıkDeğer
Topicqapu.raw-writer
Producerraw-writer-service
ConsumerSynthesis Servisi
Tetikleyicicalibration.ready.v1 tüketimi sonrası tüm segmentler yazıldığında
KritiklikYüksek — sentez adımını tetikler

Payload

{
"event": "raw.persisted.v1",
"meta": {
"trace_id": "01a2b3c4d5e6f7g8h9i0",
"producer_service": "raw-writer-service",
"produced_at": "2026-03-11T15:22:10.090Z",
"process_ms": 42
},
"context": {
"device_id": "400000011D081B70",
"raw_id": 12345,
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:10.200Z",
"iccid": null,
"imei": null,
"firmware": "2.3.0"
},
"data": {
"current_stage": "persisted",
"state_version": 4,
"segments_written": 3,
"measurement_count": 48
},
"error": null
}

Alan Açıklamaları

AlanTipZorunluAçıklama
context.raw_idintegerEvetraw_packets tablosuna yazılan paket kimliği
context.stream_idintegerEvetStream kaydı kimliği
context.device_timedatetimeEvetCihazın paket üretim zamanı
context.stream_timedatetimeEvetRaw Writer işlem zamanı
context.firmwarestringHayırCihaz firmware versiyonu (varsa)
data.current_stagestringEvetSabit: persisted
data.segments_writtenintegerEvetBaşarıyla yazılan segment tablo sayısı
data.measurement_countintegerHayırYazılan toplam ölçüm satırı

raw.failed.v1

Özet

BaşlıkDeğer
Topicqapu.raw-writer
Producerraw-writer-service
ConsumerObserver Servisi
KritiklikYüksek — sentez adımı bloke olur; Observer replay kararı verir

Payload

{
"event": "raw.failed.v1",
"meta": {
"trace_id": "01a2b3c4d5e6f7g8h9i1",
"producer_service": "raw-writer-service",
"produced_at": "2026-03-11T15:22:10.200Z",
"process_ms": 15
},
"context": {
"device_id": "400000011D081B70",
"raw_id": 12345,
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:10Z",
"iccid": null,
"imei": null,
"firmware": null
},
"data": {
"failed_segment": "measurements_voltage"
},
"error": {
"failed_stage": "raw_write",
"error_code": "RAW_WRITE_CONSTRAINT_VIOLATION",
"error_message": "Duplicate stream_id in measurements_voltage",
"failed_at": "2026-03-11T15:22:10Z"
}
}