23 lines
856 B
PL/PgSQL
23 lines
856 B
PL/PgSQL
create or replace function ems.fn_update_heartbeat(
|
||
p_site_id int,
|
||
p_status text default 'ok',
|
||
p_ems_version text default null
|
||
)
|
||
returns void
|
||
language sql
|
||
as $$
|
||
insert into ems.site_heartbeat (site_id, last_seen, status, ems_version)
|
||
values (p_site_id, now(), p_status, p_ems_version)
|
||
on conflict (site_id) do update set
|
||
last_seen = now(),
|
||
status = excluded.status,
|
||
ems_version = coalesce(excluded.ems_version, ems.site_heartbeat.ems_version);
|
||
$$;
|
||
|
||
comment on function ems.fn_update_heartbeat(int, text, text) is
|
||
'Aktualizuje informační heartbeat záznam EMS pro danou lokalitu.
|
||
Volat každou minutu z backend service po úspěšném odeslání pulzu do Loxone.
|
||
Slouží pouze pro EMS dashboard – Loxone watchdog nezávisí na této tabulce,
|
||
sleduje HTTP pulzy přímo a nezávisle na dostupnosti DB.';
|
||
|