diff options
| author | 2023-01-31 21:15:16 +0100 | |
|---|---|---|
| committer | 2023-01-31 21:15:16 +0100 | |
| commit | 4e62b409af202be26ad2bde15fd0230634c9e88d (patch) | |
| tree | 3506ec4606568e4ee0528e13dd17ca30250b1887 | |
| parent | Started rewriting the queue. (diff) | |
| download | snac2-4e62b409af202be26ad2bde15fd0230634c9e88d.tar.gz snac2-4e62b409af202be26ad2bde15fd0230634c9e88d.tar.xz snac2-4e62b409af202be26ad2bde15fd0230634c9e88d.zip | |
Reworked enqueue_output().
| -rw-r--r-- | data.c | 17 | ||||
| -rw-r--r-- | snac.h | 4 |
2 files changed, 8 insertions, 13 deletions
| @@ -1336,7 +1336,7 @@ static xs_dict *_new_qmsg(const char *type, const xs_dict *msg, int retries) | |||
| 1336 | } | 1336 | } |
| 1337 | 1337 | ||
| 1338 | 1338 | ||
| 1339 | void enqueue_input(snac *snac, char *msg, char *req, int retries) | 1339 | void enqueue_input(snac *snac, xs_dict *msg, xs_dict *req, int retries) |
| 1340 | /* enqueues an input message */ | 1340 | /* enqueues an input message */ |
| 1341 | { | 1341 | { |
| 1342 | xs *qmsg = _new_qmsg("input", msg, retries); | 1342 | xs *qmsg = _new_qmsg("input", msg, retries); |
| @@ -1351,7 +1351,7 @@ void enqueue_input(snac *snac, char *msg, char *req, int retries) | |||
| 1351 | } | 1351 | } |
| 1352 | 1352 | ||
| 1353 | 1353 | ||
| 1354 | void enqueue_output(snac *snac, char *msg, char *inbox, int retries) | 1354 | void enqueue_output(snac *snac, xs_dict *msg, xs_str *inbox, int retries) |
| 1355 | /* enqueues an output message to an inbox */ | 1355 | /* enqueues an output message to an inbox */ |
| 1356 | { | 1356 | { |
| 1357 | if (xs_startswith(inbox, snac->actor)) { | 1357 | if (xs_startswith(inbox, snac->actor)) { |
| @@ -1359,16 +1359,11 @@ void enqueue_output(snac *snac, char *msg, char *inbox, int retries) | |||
| 1359 | return; | 1359 | return; |
| 1360 | } | 1360 | } |
| 1361 | 1361 | ||
| 1362 | int qrt = xs_number_get(xs_dict_get(srv_config, "queue_retry_minutes")); | 1362 | xs *qmsg = _new_qmsg("output", msg, retries); |
| 1363 | xs *ntid = tid(retries * 60 * qrt); | 1363 | char *ntid = xs_dict_get(qmsg, "ntid"); |
| 1364 | xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid); | 1364 | xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid); |
| 1365 | xs *qmsg = xs_dict_new(); | ||
| 1366 | xs *rn = xs_number_new(retries); | ||
| 1367 | 1365 | ||
| 1368 | qmsg = xs_dict_append(qmsg, "type", "output"); | 1366 | qmsg = xs_dict_append(qmsg, "inbox", inbox); |
| 1369 | qmsg = xs_dict_append(qmsg, "inbox", inbox); | ||
| 1370 | qmsg = xs_dict_append(qmsg, "message", msg); | ||
| 1371 | qmsg = xs_dict_append(qmsg, "retries", rn); | ||
| 1372 | 1367 | ||
| 1373 | qmsg = _enqueue_put(fn, qmsg); | 1368 | qmsg = _enqueue_put(fn, qmsg); |
| 1374 | 1369 | ||
| @@ -121,8 +121,8 @@ d_char *history_get(snac *snac, char *id); | |||
| 121 | int history_del(snac *snac, char *id); | 121 | int history_del(snac *snac, char *id); |
| 122 | d_char *history_list(snac *snac); | 122 | d_char *history_list(snac *snac); |
| 123 | 123 | ||
| 124 | void enqueue_input(snac *snac, char *msg, char *req, int retries); | 124 | void enqueue_input(snac *snac, xs_dict *msg, xs_dict *req, int retries); |
| 125 | void enqueue_output(snac *snac, char *msg, char *inbox, int retries); | 125 | void enqueue_output(snac *snac, xs_dict *msg, xs_str *inbox, int retries); |
| 126 | void enqueue_output_by_actor(snac *snac, char *msg, char *actor, int retries); | 126 | void enqueue_output_by_actor(snac *snac, char *msg, char *actor, int retries); |
| 127 | void enqueue_email(snac *snac, char *msg, int retries); | 127 | void enqueue_email(snac *snac, char *msg, int retries); |
| 128 | void enqueue_message(snac *snac, char *msg); | 128 | void enqueue_message(snac *snac, char *msg); |