diff options
| author | 2023-01-31 21:03:59 +0100 | |
|---|---|---|
| committer | 2023-01-31 21:03:59 +0100 | |
| commit | 0233d732485a546db829696ad082d7941725f604 (patch) | |
| tree | ff1bb05414f9efc22c2e6d0346350fa84eb24e5e /data.c | |
| parent | Deleted dead code. (diff) | |
| download | snac2-0233d732485a546db829696ad082d7941725f604.tar.gz snac2-0233d732485a546db829696ad082d7941725f604.tar.xz snac2-0233d732485a546db829696ad082d7941725f604.zip | |
Started rewriting the queue.
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 25 |
1 files changed, 19 insertions, 6 deletions
| @@ -1318,19 +1318,32 @@ static xs_dict *_enqueue_put(const char *fn, xs_dict *msg) | |||
| 1318 | } | 1318 | } |
| 1319 | 1319 | ||
| 1320 | 1320 | ||
| 1321 | void enqueue_input(snac *snac, char *msg, char *req, int retries) | 1321 | static 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 | |||
| 1339 | void 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 | ||