mirror of
https://github.com/xbgmsharp/postgsail.git
synced 2025-09-17 11:17:46 +00:00
Update cron_process_alerts_fn, update alert message
This commit is contained in:
@@ -581,7 +581,7 @@ BEGIN
|
|||||||
LOOP
|
LOOP
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking metrics [%]', metric_rec;
|
RAISE NOTICE '-> cron_process_alerts_fn checking metrics [%]', metric_rec;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking alerting [%]', alert_rec.alerting;
|
RAISE NOTICE '-> cron_process_alerts_fn checking alerting [%]', alert_rec.alerting;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%] [%]', kelvinToCel(metric_rec.intemp), (alert_rec.alerting->'low_indoor_temperature_threshold');
|
--RAISE NOTICE '-> cron_process_alerts_fn checking debug [%] [%]', kelvinToCel(metric_rec.intemp), (alert_rec.alerting->'low_indoor_temperature_threshold');
|
||||||
IF kelvinToCel(metric_rec.intemp) < (alert_rec.alerting->'low_indoor_temperature_threshold')::numeric then
|
IF kelvinToCel(metric_rec.intemp) < (alert_rec.alerting->'low_indoor_temperature_threshold')::numeric then
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', (alert_rec.alarms->'low_indoor_temperature_threshold'->>'date')::TIMESTAMPTZ;
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', (alert_rec.alarms->'low_indoor_temperature_threshold'->>'date')::TIMESTAMPTZ;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', metric_rec.time_bucket::TIMESTAMPTZ;
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', metric_rec.time_bucket::TIMESTAMPTZ;
|
||||||
@@ -595,18 +595,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"low_indoor_temperature_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"low_indoor_temperature_threshold": {"value": '|| kelvinToCel(metric_rec.intemp) ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "low_outdoor_temperature_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "low_outdoor_temperature_threshold value:'|| kelvinToCel(metric_rec.intemp) ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_indoor_temperature_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_indoor_temperature_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_indoor_temperature_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_indoor_temperature_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
@@ -623,18 +623,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"low_outdoor_temperature_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"low_outdoor_temperature_threshold": {"value": '|| kelvinToCel(metric_rec.outtemp) ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "low_outdoor_temperature_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "low_outdoor_temperature_threshold value:'|| kelvinToCel(metric_rec.outtemp) ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_outdoor_temperature_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_outdoor_temperature_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_outdoor_temperature_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_outdoor_temperature_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
@@ -651,18 +651,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"low_water_temperature_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"low_water_temperature_threshold": {"value": '|| kelvinToCel(metric_rec.wattemp) ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "low_water_temperature_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "low_water_temperature_threshold value:'|| kelvinToCel(metric_rec.wattemp) ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_temperature_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_temperature_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_temperature_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_temperature_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
@@ -679,18 +679,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"low_water_depth_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"low_water_depth_threshold": {"value": '|| metric_rec.watdepth ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "low_water_depth_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "low_water_depth_threshold value:'|| metric_rec.watdepth ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_depth_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_depth_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_depth_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_water_depth_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
@@ -707,22 +707,22 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"high_pressure_drop_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"high_pressure_drop_threshold": {"value": '|| metric_rec.pressure ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "high_pressure_drop_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "high_pressure_drop_threshold value:'|| metric_rec.pressure ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_pressure_drop_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_pressure_drop_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_pressure_drop_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_pressure_drop_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
if metric_rec.wind > (alert_rec.alerting->'high_wind_speed_threshold')::numeric then
|
IF metric_rec.wind > (alert_rec.alerting->'high_wind_speed_threshold')::numeric then
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', (alert_rec.alarms->'high_wind_speed_threshold'->>'date')::TIMESTAMPTZ;
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', (alert_rec.alarms->'high_wind_speed_threshold'->>'date')::TIMESTAMPTZ;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', metric_rec.time_bucket::TIMESTAMPTZ;
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug [%]', metric_rec.time_bucket::TIMESTAMPTZ;
|
||||||
-- Get latest alarms
|
-- Get latest alarms
|
||||||
@@ -735,18 +735,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"high_wind_speed_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"high_wind_speed_threshold": {"value": '|| metric_rec.wind ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "high_wind_speed_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "high_wind_speed_threshold value:'|| metric_rec.wind ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_wind_speed_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_wind_speed_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_wind_speed_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug high_wind_speed_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
@@ -763,18 +763,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"low_battery_voltage_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"low_battery_voltage_threshold": {"value": '|| metric_rec.voltage ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "low_battery_voltage_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "low_battery_voltage_threshold value:'|| metric_rec.voltage ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_voltage_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_voltage_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_voltage_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_voltage_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
@@ -791,18 +791,18 @@ BEGIN
|
|||||||
< metric_rec.time_bucket::TIMESTAMPTZ)
|
< metric_rec.time_bucket::TIMESTAMPTZ)
|
||||||
) THEN
|
) THEN
|
||||||
-- Add alarm
|
-- Add alarm
|
||||||
alarms := '{"low_battery_charge_threshold": {"value": '|| metric_rec.charge ||', "date":"' || metric_rec.time_bucket || '"}}';
|
alarms := '{"low_battery_charge_threshold": {"value": '|| (metric_rec.charge*100) ||', "date":"' || metric_rec.time_bucket || '"}}';
|
||||||
-- Merge alarms
|
-- Merge alarms
|
||||||
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
SELECT public.jsonb_recursive_merge(_alarms::jsonb, alarms::jsonb) into _alarms;
|
||||||
-- Update alarms for user
|
-- Update alarms for user
|
||||||
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
PERFORM api.update_user_preferences_fn('{alarms}'::TEXT, _alarms::TEXT);
|
||||||
-- Gather user settings
|
-- Gather user settings
|
||||||
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
user_settings := get_user_settings_from_vesselid_fn(current_setting('vessel.id', false));
|
||||||
SELECT user_settings::JSONB || '{"alert": "low_battery_charge_threshold"}'::JSONB into user_settings;
|
SELECT user_settings::JSONB || ('{"alert": "low_battery_charge_threshold value:'|| (metric_rec.charge*100) ||'"}'::text)::JSONB into user_settings;
|
||||||
-- Send notification
|
-- Send notification
|
||||||
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
PERFORM send_notification_fn('alert'::TEXT, user_settings::JSONB);
|
||||||
-- DEBUG
|
-- DEBUG
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_charge_threshold +6h';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_charge_threshold +interval';
|
||||||
END IF;
|
END IF;
|
||||||
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_charge_threshold';
|
RAISE NOTICE '-> cron_process_alerts_fn checking debug low_battery_charge_threshold';
|
||||||
END IF;
|
END IF;
|
||||||
|
Reference in New Issue
Block a user