Skip to content
Snippets Groups Projects
Commit 98905040 authored by vscherbo's avatar vscherbo
Browse files

insert in queue before update subs

parent 09bae79b
No related branches found
No related tags found
No related merge requests found
...@@ -15,16 +15,17 @@ SELECT port INTO loc_port FROM arc_energo.topic WHERE tag = NEW.tag; ...@@ -15,16 +15,17 @@ SELECT port INTO loc_port FROM arc_energo.topic WHERE tag = NEW.tag;
host_to := host(rec.ip); host_to := host(rec.ip);
-- res := NULLIF(sock_send(host_to, loc_port, NEW.msg_id::varchar), ''); -- res := NULLIF(sock_send(host_to, loc_port, NEW.msg_id::varchar), '');
res := sock_send(host_to, loc_port, NEW.msg_id::varchar); res := sock_send(host_to, loc_port, NEW.msg_id::varchar);
INSERT INTO arc_energo.topic_msg_queue(ip, msg_id, status, sent_result)
VALUES(rec.ip, NEW.msg_id,
CASE WHEN res='' THEN 10 ELSE 20 END,
res);
IF res = '' THEN IF res = '' THEN
UPDATE arc_energo.topic_subs SET err_cnt = 0 WHERE tag = rec.tag AND ip = rec.ip; UPDATE arc_energo.topic_subs SET err_cnt = 0 WHERE tag = rec.tag AND ip = rec.ip;
ELSIF res LIKE '%timed out%' THEN ELSIF res LIKE '%timed out%' THEN
UPDATE arc_energo.topic_subs SET err_cnt = COALESCE(rec.err_cnt, 0) + 1 WHERE tag = rec.tag AND ip = rec.ip; UPDATE arc_energo.topic_subs SET err_cnt = COALESCE(rec.err_cnt, 0) + 1 WHERE tag = rec.tag AND ip = rec.ip;
END IF; END IF;
INSERT INTO arc_energo.topic_msg_queue(ip, msg_id, status, sent_result)
VALUES(rec.ip, NEW.msg_id,
CASE WHEN res='' THEN 10 ELSE 20 END,
res);
END LOOP; END LOOP;
RETURN NEW; RETURN NEW;
END; END;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment