diff options
author | Andreas Fankhauser hiddenalpha.ch | 2024-04-03 16:05:00 +0200 |
---|---|---|
committer | Andreas Fankhauser hiddenalpha.ch | 2024-04-03 16:05:00 +0200 |
commit | 074b68ef92389c4a916f1e74515a391c4aa5d5f6 (patch) | |
tree | c4a670e1dbea3f0655046192ee15d2f3495db9b1 | |
parent | a15e0994246d33671081b59c42b91158a2fc998a (diff) | |
download | UnspecifiedGarbage-074b68ef92389c4a916f1e74515a391c4aa5d5f6.zip UnspecifiedGarbage-074b68ef92389c4a916f1e74515a391c4aa5d5f6.tar.gz |
Add nodejs kludge script to produce some gateleen queueus.
-rw-r--r-- | src/main/nodejs/misc/ProduceLotsOfQueues.js | 60 |
1 files changed, 48 insertions, 12 deletions
diff --git a/src/main/nodejs/misc/ProduceLotsOfQueues.js b/src/main/nodejs/misc/ProduceLotsOfQueues.js index 9f0101e..890f867 100644 --- a/src/main/nodejs/misc/ProduceLotsOfQueues.js +++ b/src/main/nodejs/misc/ProduceLotsOfQueues.js @@ -3,6 +3,7 @@ const http = require("http"); const log = process.stderr; const out = process.stdout; + const NOOP = function(){}; setTimeout(main); return; @@ -51,30 +52,65 @@ function run( app ){ - foo(app); + //placeHook(app); + putSomeNonsense(app); } - function foo( app ){ + function placeHook( app ){ const req = Object.seal({ base: null, + app: app, }); req.base = http.request({ host: app.host, port: app.port, - method: "PUT", path: app.uri, - headers: { - "X-Queue": app.queueName, - "X-Queue-Expire-After": 9999999, - }, + method: "PUT", path: app.uri +"/_hooks/listeners/http", + //headers: { + // "X-Expire-After": "42", + //}, }); - req.base.on("response", onResponse.bind(0, app)); - req.base.end("{\"guguseli\":42}\n"); + req.base.on("response", onResponse.bind(0, req)); + req.base.end(JSON.stringify({ + destination: "http://127.0.0.1:7099/guguseli", + queueExpireAfter/*seconds*/: 42, + })); + function onResponse( req, rsp ){ + var app = req.app; + log.write("[DEBUG] < HTTP/"+ rsp.httpVersion +" "+ rsp.statusCode +" "+ rsp.statusMessage +"\n"); + for( var k of Object.keys(rsp.headers) ) log.write("[DEBUG] < "+ k +": "+ rsp.headers[k] +"\n"); + } } - function onResponse( app, rsp ){ - log.write("[DEBUG] < HTTP/"+ rsp.httpVersion +" "+ rsp.statusCode +" "+ rsp.statusMessage +"\n"); - for( var k of Object.keys(rsp.headers) ) log.write("[DEBUG] < "+ k +": "+ rsp.headers[k] +"\n"); + function putSomeNonsense( app ){ + const nonsense = Object.seal({ + app: app, + req: null, + i: 0, + limit: 42, + }); + putNextRequest(nonsense); + function putNextRequest( nonsense ){ + nonsense.req = http.request({ + host: app.host, port: app.port, + method: "PUT", path: app.uri +"/foo/"+ nonsense.i, + headers: { + "X-Queue": app.queueName +"-"+ nonsense.i, + "X-Queue-Expire-After": 9999999, + }, + }); + nonsense.req.on("response", onResponse.bind(0, nonsense)); + nonsense.req.end("{\"guguseli\":\""+ new Date().toISOString() +"\"}\n"); + } + function onResponse( nonsense, rsp ){ + var app = nonsense.app; + log.write("[DEBUG] < HTTP/"+ rsp.httpVersion +" "+ rsp.statusCode +" "+ rsp.statusMessage +"\n"); + for( var k of Object.keys(rsp.headers) ) log.write("[DEBUG] < "+ k +": "+ rsp.headers[k] +"\n"); + rsp.on("data", NOOP); + if( nonsense.i++ < nonsense.limit ){ + putNextRequest(nonsense); + } + } } |