summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2023-01-31 21:49:43 +0100
committerGravatar default2023-01-31 21:49:43 +0100
commit274ae3d14297364f5aad0596e95e5d0ac970d503 (patch)
treefcbd33f30885ed97e49cdcaa8045064861f4d8fc
parentReworked enqueue_output(). (diff)
downloadsnac2-274ae3d14297364f5aad0596e95e5d0ac970d503.tar.gz
snac2-274ae3d14297364f5aad0596e95e5d0ac970d503.tar.xz
snac2-274ae3d14297364f5aad0596e95e5d0ac970d503.zip
Reworked enqueue_email().
-rw-r--r--data.c18
-rw-r--r--snac.h4
2 files changed, 8 insertions, 14 deletions
diff --git a/data.c b/data.c
index 20bf9ed..2989b2a 100644
--- a/data.c
+++ b/data.c
@@ -1318,7 +1318,7 @@ static xs_dict *_enqueue_put(const char *fn, xs_dict *msg)
1318} 1318}
1319 1319
1320 1320
1321static xs_dict *_new_qmsg(const char *type, const xs_dict *msg, int retries) 1321static xs_dict *_new_qmsg(const char *type, const xs_val *msg, int retries)
1322/* creates a queue message */ 1322/* creates a queue message */
1323{ 1323{
1324 int qrt = xs_number_get(xs_dict_get(srv_config, "queue_retry_minutes")); 1324 int qrt = xs_number_get(xs_dict_get(srv_config, "queue_retry_minutes"));
@@ -1371,7 +1371,7 @@ void enqueue_output(snac *snac, xs_dict *msg, xs_str *inbox, int retries)
1371} 1371}
1372 1372
1373 1373
1374void enqueue_output_by_actor(snac *snac, char *msg, char *actor, int retries) 1374void enqueue_output_by_actor(snac *snac, xs_dict *msg, xs_str *actor, int retries)
1375/* enqueues an output message for an actor */ 1375/* enqueues an output message for an actor */
1376{ 1376{
1377 xs *inbox = get_actor_inbox(snac, actor); 1377 xs *inbox = get_actor_inbox(snac, actor);
@@ -1383,18 +1383,12 @@ void enqueue_output_by_actor(snac *snac, char *msg, char *actor, int retries)
1383} 1383}
1384 1384
1385 1385
1386void enqueue_email(snac *snac, char *msg, int retries) 1386void enqueue_email(snac *snac, xs_str *msg, int retries)
1387/* enqueues an email message to be sent */ 1387/* enqueues an email message to be sent */
1388{ 1388{
1389 int qrt = xs_number_get(xs_dict_get(srv_config, "queue_retry_minutes")); 1389 xs *qmsg = _new_qmsg("email", msg, retries);
1390 xs *ntid = tid(retries * 60 * qrt); 1390 char *ntid = xs_dict_get(qmsg, "ntid");
1391 xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid); 1391 xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid);
1392 xs *qmsg = xs_dict_new();
1393 xs *rn = xs_number_new(retries);
1394
1395 qmsg = xs_dict_append(qmsg, "type", "email");
1396 qmsg = xs_dict_append(qmsg, "message", msg);
1397 qmsg = xs_dict_append(qmsg, "retries", rn);
1398 1392
1399 qmsg = _enqueue_put(fn, qmsg); 1393 qmsg = _enqueue_put(fn, qmsg);
1400 1394
diff --git a/snac.h b/snac.h
index 296ef97..dc6662e 100644
--- a/snac.h
+++ b/snac.h
@@ -123,8 +123,8 @@ d_char *history_list(snac *snac);
123 123
124void enqueue_input(snac *snac, xs_dict *msg, xs_dict *req, int retries); 124void enqueue_input(snac *snac, xs_dict *msg, xs_dict *req, int retries);
125void enqueue_output(snac *snac, xs_dict *msg, xs_str *inbox, int retries); 125void enqueue_output(snac *snac, xs_dict *msg, xs_str *inbox, int retries);
126void enqueue_output_by_actor(snac *snac, char *msg, char *actor, int retries); 126void enqueue_output_by_actor(snac *snac, xs_dict *msg, xs_str *actor, int retries);
127void enqueue_email(snac *snac, char *msg, int retries); 127void enqueue_email(snac *snac, xs_str *msg, int retries);
128void enqueue_message(snac *snac, char *msg); 128void enqueue_message(snac *snac, char *msg);
129 129
130d_char *queue(snac *snac); 130d_char *queue(snac *snac);