woonplan-packages-redishelper 1.0.47 → 1.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/getters.js +4 -1
- package/dist/index.js +2 -2
- package/dist/setters.js +4 -1
- package/getters.ts +8 -1
- package/index.ts +4 -2
- package/package.json +1 -1
- package/setters.ts +4 -1
package/dist/getters.js
CHANGED
|
@@ -20,11 +20,14 @@ var getOrRequestKey = function (client, key, service) { return new Promise(funct
|
|
|
20
20
|
exports.getOrRequestKey = getOrRequestKey;
|
|
21
21
|
var requestAndWaitForKey = function (client, key, service) { return new Promise(function (resolve) {
|
|
22
22
|
service = capitalizeFirstLetter(service);
|
|
23
|
+
var createdMessageId = '';
|
|
23
24
|
client.xadd("keyRequestedFrom".concat(service, "Service"), '*', 'key', key)
|
|
24
25
|
.then(function (messageid) {
|
|
26
|
+
createdMessageId = messageid;
|
|
25
27
|
// create a key to listen to, the key contains the message we just created;
|
|
26
28
|
return subscribeToMessageResponse(client, messageid);
|
|
27
29
|
}).then(function () {
|
|
30
|
+
console.log("subscribed to ".concat(createdMessageId, " at ").concat(new Date().toISOString()));
|
|
28
31
|
// we are subscribed
|
|
29
32
|
// setting up a one time event listener
|
|
30
33
|
client.once("message", function (channel, message) {
|
|
@@ -45,7 +48,7 @@ var requestAndWaitForKey = function (client, key, service) { return new Promise(
|
|
|
45
48
|
client.unsubscribe();
|
|
46
49
|
resolve(null);
|
|
47
50
|
}
|
|
48
|
-
},
|
|
51
|
+
}, 250);
|
|
49
52
|
}).catch(function (e) {
|
|
50
53
|
console.log(e);
|
|
51
54
|
resolve(null);
|
package/dist/index.js
CHANGED
|
@@ -46,13 +46,13 @@ var listenForMessage = function (client, groupname, channelname, consumername, c
|
|
|
46
46
|
});
|
|
47
47
|
callback(messagedata, id, client).catch(function (error) {
|
|
48
48
|
console.log(error);
|
|
49
|
-
// in case somebody was subscribed to the response;
|
|
50
|
-
(0, setters_1.publishMessageResponse)(client, id, '');
|
|
51
49
|
}).finally(function () {
|
|
52
50
|
// not sure yet? For now always acknowledge
|
|
53
51
|
client.xack(channelname, groupname, id).then(function () {
|
|
54
52
|
console.log(id + ' acknowledged');
|
|
55
53
|
});
|
|
54
|
+
// in case somebody was subscribed to the response;
|
|
55
|
+
(0, setters_1.publishMessageResponse)(client, id, '');
|
|
56
56
|
// relisten
|
|
57
57
|
listenForMessage(client, groupname, channelname, consumername, callback);
|
|
58
58
|
});
|
package/dist/setters.js
CHANGED
|
@@ -11,7 +11,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.sendMessageToStream = exports.publishMessageResponse = void 0;
|
|
13
13
|
var utils_1 = require("./utils");
|
|
14
|
-
var publishMessageResponse = function (client, messageid, message) {
|
|
14
|
+
var publishMessageResponse = function (client, messageid, message) {
|
|
15
|
+
console.log("publishing to ".concat(messageid, " at ").concat(new Date().toISOString()));
|
|
16
|
+
return client.publish((0, utils_1.getMessageReponseKey)(messageid), message);
|
|
17
|
+
};
|
|
15
18
|
exports.publishMessageResponse = publishMessageResponse;
|
|
16
19
|
var sendMessageToStream = function (client, channelname, message) {
|
|
17
20
|
var arrayOfKeysAndValues = (0, utils_1.redisMessageToArrayOfKeysAndValues)(message).reduce(utils_1.reduceArraysToArray, []);
|
package/getters.ts
CHANGED
|
@@ -29,14 +29,21 @@ const requestAndWaitForKey = (
|
|
|
29
29
|
) => new Promise((resolve) => {
|
|
30
30
|
service = capitalizeFirstLetter( service );
|
|
31
31
|
|
|
32
|
+
let createdMessageId = '';
|
|
33
|
+
|
|
32
34
|
client.xadd( `keyRequestedFrom${service}Service`, '*', 'key', key )
|
|
33
35
|
.then(
|
|
34
36
|
(messageid:string) => {
|
|
37
|
+
createdMessageId = messageid;
|
|
35
38
|
// create a key to listen to, the key contains the message we just created;
|
|
36
39
|
return subscribeToMessageResponse( client, messageid )
|
|
37
40
|
}
|
|
38
41
|
).then(
|
|
39
42
|
() => {
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
console.log( `subscribed to ${createdMessageId} at ${new Date().toISOString()}` )
|
|
46
|
+
|
|
40
47
|
// we are subscribed
|
|
41
48
|
// setting up a one time event listener
|
|
42
49
|
client.once( "message", ( channel, message ) => {
|
|
@@ -63,7 +70,7 @@ const requestAndWaitForKey = (
|
|
|
63
70
|
resolve( null )
|
|
64
71
|
}
|
|
65
72
|
|
|
66
|
-
},
|
|
73
|
+
}, 250 )
|
|
67
74
|
}
|
|
68
75
|
).catch(
|
|
69
76
|
(e) => {
|
package/index.ts
CHANGED
|
@@ -56,14 +56,16 @@ const listenForMessage = ( client:Redis, groupname:string, channelname:string, c
|
|
|
56
56
|
callback( messagedata, id, client ).catch(
|
|
57
57
|
( error:Error ) => {
|
|
58
58
|
console.log( error );
|
|
59
|
-
// in case somebody was subscribed to the response;
|
|
60
|
-
publishMessageResponse( client, id, '' );
|
|
61
59
|
}
|
|
62
60
|
).finally(()=>{
|
|
63
61
|
// not sure yet? For now always acknowledge
|
|
64
62
|
client.xack( channelname, groupname, id ).then( () => {
|
|
65
63
|
console.log( id + ' acknowledged')
|
|
66
64
|
})
|
|
65
|
+
|
|
66
|
+
// in case somebody was subscribed to the response;
|
|
67
|
+
publishMessageResponse( client, id, '' );
|
|
68
|
+
|
|
67
69
|
// relisten
|
|
68
70
|
listenForMessage( client, groupname, channelname, consumername, callback );
|
|
69
71
|
})
|
package/package.json
CHANGED
package/setters.ts
CHANGED
|
@@ -3,7 +3,10 @@ import { Redis } from "ioredis"
|
|
|
3
3
|
import { RedisMessage } from "./types"
|
|
4
4
|
import { getMessageReponseKey, redisMessageToArrayOfKeysAndValues, reduceArraysToArray } from "./utils"
|
|
5
5
|
|
|
6
|
-
const publishMessageResponse = ( client:Redis, messageid:string, message:string ) =>
|
|
6
|
+
const publishMessageResponse = ( client:Redis, messageid:string, message:string ) => {
|
|
7
|
+
console.log( `publishing to ${messageid} at ${new Date().toISOString()}` )
|
|
8
|
+
return client.publish( getMessageReponseKey( messageid ), message )
|
|
9
|
+
}
|
|
7
10
|
|
|
8
11
|
|
|
9
12
|
const sendMessageToStream = ( client:Redis, channelname:string, message:RedisMessage) => {
|