summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorGravatar default2023-01-31 21:03:59 +0100
committerGravatar default2023-01-31 21:03:59 +0100
commit0233d732485a546db829696ad082d7941725f604 (patch)
treeff1bb05414f9efc22c2e6d0346350fa84eb24e5e /data.c
parentDeleted dead code. (diff)
downloadsnac2-0233d732485a546db829696ad082d7941725f604.tar.gz
snac2-0233d732485a546db829696ad082d7941725f604.tar.xz
snac2-0233d732485a546db829696ad082d7941725f604.zip
Started rewriting the queue.
Diffstat (limited to 'data.c')
-rw-r--r--data.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/data.c b/data.c
index 6d9ade1..a426957 100644
--- a/data.c
+++ b/data.c
@@ -1318,19 +1318,32 @@ static xs_dict *_enqueue_put(const char *fn, xs_dict *msg)
1318} 1318}
1319 1319
1320 1320
1321void enqueue_input(snac *snac, char *msg, char *req, int retries) 1321static xs_dict *_new_qmsg(const char *type, const xs_dict *msg, int retries)
1322/* enqueues an input 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"));
1325 xs *ntid = tid(retries * 60 * qrt); 1325 xs *ntid = tid(retries * 60 * qrt);
1326 xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid);
1327 xs *qmsg = xs_dict_new();
1328 xs *rn = xs_number_new(retries); 1326 xs *rn = xs_number_new(retries);
1329 1327
1330 qmsg = xs_dict_append(qmsg, "type", "input"); 1328 xs_dict *qmsg = xs_dict_new();
1329
1330 qmsg = xs_dict_append(qmsg, "type", type);
1331 qmsg = xs_dict_append(qmsg, "message", msg); 1331 qmsg = xs_dict_append(qmsg, "message", msg);
1332 qmsg = xs_dict_append(qmsg, "req", req);
1333 qmsg = xs_dict_append(qmsg, "retries", rn); 1332 qmsg = xs_dict_append(qmsg, "retries", rn);
1333 qmsg = xs_dict_append(qmsg, "ntid", ntid);
1334
1335 return qmsg;
1336}
1337
1338
1339void enqueue_input(snac *snac, char *msg, char *req, int retries)
1340/* enqueues an input message */
1341{
1342 xs *qmsg = _new_qmsg("input", msg, retries);
1343 char *ntid = xs_dict_get(qmsg, "ntid");
1344 xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid);
1345
1346 qmsg = xs_dict_append(qmsg, "req", req);
1334 1347
1335 qmsg = _enqueue_put(fn, qmsg); 1348 qmsg = _enqueue_put(fn, qmsg);
1336 1349