From 928f22fbbaec5d52836b217ec7a281b880b23f92 Mon Sep 17 00:00:00 2001 From: default Date: Thu, 2 Feb 2023 05:21:16 +0100 Subject: Email notifications have been moved to the global queue. --- activitypub.c | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) (limited to 'activitypub.c') diff --git a/activitypub.c b/activitypub.c index 5cc059d..9c9ea7c 100644 --- a/activitypub.c +++ b/activitypub.c @@ -839,7 +839,7 @@ void notify(snac *snac, char *type, char *utype, char *actor, char *msg) body = xs_str_cat(body, s1); } - enqueue_email(snac, body, 0); + enqueue_email(body, 0); } @@ -1137,26 +1137,6 @@ void process_user_queue_item(snac *snac, xs_dict *q_item) } } } - else - if (strcmp(type, "email") == 0) { - /* send this email */ - xs_str *msg = xs_dict_get(q_item, "message"); - int retries = xs_number_get(xs_dict_get(q_item, "retries")); - - if (!send_email(msg)) - snac_debug(snac, 1, xs_fmt("email message sent")); - else { - if (retries > queue_retry_max) - snac_log(snac, xs_fmt("process_queue email giving up (errno: %d)", errno)); - else { - /* requeue */ - snac_log(snac, xs_fmt( - "process_queue email requeue #%d (errno: %d)", retries + 1, errno)); - - enqueue_email(snac, msg, retries + 1); - } - } - } } @@ -1184,6 +1164,30 @@ void process_user_queue(snac *snac) void process_queue_item(xs_dict *q_item) /* processes an item from the global queue */ { + char *type = xs_dict_get(q_item, "type"); + int queue_retry_max = xs_number_get(xs_dict_get(srv_config, "queue_retry_max")); + + if (strcmp(type, "email") == 0) { + /* send this email */ + xs_str *msg = xs_dict_get(q_item, "message"); + int retries = xs_number_get(xs_dict_get(q_item, "retries")); + + if (!send_email(msg)) + srv_debug(1, xs_fmt("email message sent")); + else { + retries++; + + if (retries > queue_retry_max) + srv_log(xs_fmt("process_queue email giving up (errno: %d)", errno)); + else { + /* requeue */ + srv_log(xs_fmt( + "process_queue email requeue #%d (errno: %d)", retries, errno)); + + enqueue_email(msg, retries); + } + } + } } -- cgit v1.2.3