IoT: maxReceiveCount ко всем ошибкам consumer, ждать Shutdown до deferred Close, не 500 после успешного create

This commit is contained in:
Repinoid
2026-10-11 08:48:29 +03:00
parent 93d47376b1
commit 4c1b9b7b9e
3 changed files with 30 additions and 2 deletions
+5 -2
View File
@@ -234,8 +234,11 @@ func (h *Handler) CreateIoTDevice(w http.ResponseWriter, r *http.Request) {
// стабилизировать в REST для Terraform»).
created, err := h.Devices.GetByName(r.Context(), ns, req.Name)
if err != nil {
h.Log.Error("reload device after create", "namespace", ns, "name", req.Name, "err", err)
writeJSON(w, http.StatusInternalServerError, errResp("failed to reload device"))
// Устройство УЖЕ создано (INSERT прошёл): не отвечаем 500 — иначе пароль
// (отдаётся один раз) потерялся бы, а повтор дал бы 409. Отдаём созданный
// объект из памяти (created_at будет нулевым, уточнится следующим GET).
h.Log.Error("reload device after create (возвращаю in-memory без created_at)", "namespace", ns, "name", req.Name, "err", err)
writeJSON(w, http.StatusCreated, deviceToResponse(device, password))
return
}