From 16a4a09e4fcc6f107649b3053747f2a2c68c0dea Mon Sep 17 00:00:00 2001 From: default Date: Mon, 22 Apr 2024 07:53:40 +0200 Subject: New server.json knobs "queue_timeout" and "queue_timeout_2". --- activitypub.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'activitypub.c') diff --git a/activitypub.c b/activitypub.c index 0ed764e..94c0d30 100644 --- a/activitypub.c +++ b/activitypub.c @@ -2371,6 +2371,7 @@ void process_queue_item(xs_dict *q_item) int p_status = xs_number_get(xs_dict_get(q_item, "p_status")); xs *payload = NULL; int p_size = 0; + int timeout = 0; if (xs_is_null(inbox) || xs_is_null(msg) || xs_is_null(keyid) || xs_is_null(seckey)) { srv_log(xs_fmt("output message error: missing fields")); @@ -2383,8 +2384,15 @@ void process_queue_item(xs_dict *q_item) } /* deliver (if previous error status was a timeout, try now longer) */ - status = send_to_inbox_raw(keyid, seckey, inbox, msg, - &payload, &p_size, p_status == 599 ? 8 : 6); + if (p_status == 599) + timeout = xs_number_get(xs_dict_get_def(srv_config, "queue_timeout_2", "8")); + else + timeout = xs_number_get(xs_dict_get_def(srv_config, "queue_timeout", "6")); + + if (timeout == 0) + timeout = 6; + + status = send_to_inbox_raw(keyid, seckey, inbox, msg, &payload, &p_size, timeout); if (payload) { if (p_size > 64) { -- cgit v1.2.3