commit 0233d73

default  ·  2023-01-31 20:03:59 +0000 UTC
parent cabbdbe
Started rewriting the queue.
1 files changed,  +19, -6
M data.c
M data.c
+19, -6
 1@@ -1318,19 +1318,32 @@ static xs_dict *_enqueue_put(const char *fn, xs_dict *msg)
 2 }
 3 
 4 
 5-void enqueue_input(snac *snac, char *msg, char *req, int retries)
 6-/* enqueues an input message */
 7+static xs_dict *_new_qmsg(const char *type, const xs_dict *msg, int retries)
 8+/* creates a queue message */
 9 {
10     int qrt  = xs_number_get(xs_dict_get(srv_config, "queue_retry_minutes"));
11     xs *ntid = tid(retries * 60 * qrt);
12-    xs *fn   = xs_fmt("%s/queue/%s.json", snac->basedir, ntid);
13-    xs *qmsg = xs_dict_new();
14     xs *rn   = xs_number_new(retries);
15 
16-    qmsg = xs_dict_append(qmsg, "type",    "input");
17+    xs_dict *qmsg = xs_dict_new();
18+
19+    qmsg = xs_dict_append(qmsg, "type",    type);
20     qmsg = xs_dict_append(qmsg, "message", msg);
21-    qmsg = xs_dict_append(qmsg, "req",     req);
22     qmsg = xs_dict_append(qmsg, "retries", rn);
23+    qmsg = xs_dict_append(qmsg, "ntid",    ntid);
24+
25+    return qmsg;
26+}
27+
28+
29+void enqueue_input(snac *snac, char *msg, char *req, int retries)
30+/* enqueues an input message */
31+{
32+    xs *qmsg   = _new_qmsg("input", msg, retries);
33+    char *ntid = xs_dict_get(qmsg, "ntid");
34+    xs *fn     = xs_fmt("%s/queue/%s.json", snac->basedir, ntid);
35+
36+    qmsg = xs_dict_append(qmsg, "req", req);
37 
38     qmsg = _enqueue_put(fn, qmsg);
39