diff options
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 13 |
1 files changed, 8 insertions, 5 deletions
| @@ -831,21 +831,24 @@ int static_get(snac *snac, char *id, d_char **data, int *size) | |||
| 831 | } | 831 | } |
| 832 | 832 | ||
| 833 | 833 | ||
| 834 | void enqueue_input(snac *snac, char *msg, char *req) | 834 | void enqueue_input(snac *snac, char *msg, char *req, int retries) |
| 835 | /* enqueues an input message */ | 835 | /* enqueues an input message */ |
| 836 | { | 836 | { |
| 837 | xs *ntid = tid(0); | 837 | int qrt = xs_number_get(xs_dict_get(srv_config, "queue_retry_minutes")); |
| 838 | xs *ntid = tid(retries * 60 * qrt); | ||
| 838 | xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid); | 839 | xs *fn = xs_fmt("%s/queue/%s.json", snac->basedir, ntid); |
| 839 | xs *tfn = xs_fmt("%s.tmp", fn); | 840 | xs *tfn = xs_fmt("%s.tmp", fn); |
| 840 | FILE *f; | 841 | FILE *f; |
| 841 | 842 | ||
| 842 | if ((f = fopen(tfn, "w")) != NULL) { | 843 | if ((f = fopen(tfn, "w")) != NULL) { |
| 843 | xs *qmsg = xs_dict_new(); | 844 | xs *qmsg = xs_dict_new(); |
| 845 | xs *rn = xs_number_new(retries); | ||
| 844 | xs *j; | 846 | xs *j; |
| 845 | 847 | ||
| 846 | qmsg = xs_dict_append(qmsg, "type", "input"); | 848 | qmsg = xs_dict_append(qmsg, "type", "input"); |
| 847 | qmsg = xs_dict_append(qmsg, "object", msg); | 849 | qmsg = xs_dict_append(qmsg, "object", msg); |
| 848 | qmsg = xs_dict_append(qmsg, "req", req); | 850 | qmsg = xs_dict_append(qmsg, "req", req); |
| 851 | qmsg = xs_dict_append(qmsg, "retries", rn); | ||
| 849 | 852 | ||
| 850 | j = xs_json_dumps_pp(qmsg, 4); | 853 | j = xs_json_dumps_pp(qmsg, 4); |
| 851 | 854 | ||