@hotmeshio/hotmesh 0.3.12 → 0.3.13
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/README.md +1 -1
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +3 -2
- package/build/modules/utils.js +1 -1
- package/build/package.json +2 -2
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.js +1 -1
- package/build/services/activities/index.js +1 -1
- package/build/services/activities/interrupt.js +1 -1
- package/build/services/activities/signal.js +1 -1
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.js +1 -1
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshdata/index.js +2 -1
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshos/index.js +2 -2
- package/build/services/pipe/functions/array.js +1 -1
- package/build/services/pipe/functions/bitwise.js +1 -1
- package/build/services/pipe/functions/conditional.js +1 -1
- package/build/services/pipe/functions/cron.js +1 -1
- package/build/services/pipe/functions/date.js +1 -1
- package/build/services/pipe/functions/index.js +1 -1
- package/build/services/pipe/functions/json.js +1 -1
- package/build/services/pipe/functions/logical.js +1 -1
- package/build/services/pipe/functions/math.js +1 -1
- package/build/services/pipe/functions/number.js +1 -1
- package/build/services/pipe/functions/object.js +1 -1
- package/build/services/pipe/functions/string.js +1 -1
- package/build/services/pipe/functions/symbol.js +1 -1
- package/build/services/pipe/functions/unary.js +1 -1
- package/build/services/pipe/index.js +1 -1
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.js +1 -1
- package/build/services/search/providers/postgres/postgres.js +1 -1
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/postgres.js +1 -1
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.js +1 -1
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x25d9(){const _0x135bdc=['27gVAfUf','408BXTctL','20qsfbmL','125370vRZvUM','706824YuCHce','2120859TAIMRu','41982WJQKpn','7ZJOmkq','222288sttuIY','50ihlikE','2626696TzUBTF','663996oBIlRf'];_0x25d9=function(){return _0x135bdc;};return _0x25d9();}(function(_0x323b2b,_0x3d8a18){const _0x449bcb=_0x46df,_0x4c47b8=_0x323b2b();while(!![]){try{const _0x2b4549=parseInt(_0x449bcb(0x1e1))/0x1*(parseInt(_0x449bcb(0x1db))/0x2)+-parseInt(_0x449bcb(0x1da))/0x3+-parseInt(_0x449bcb(0x1e0))/0x4+-parseInt(_0x449bcb(0x1e3))/0x5*(-parseInt(_0x449bcb(0x1e5))/0x6)+-parseInt(_0x449bcb(0x1dc))/0x7*(parseInt(_0x449bcb(0x1df))/0x8)+-parseInt(_0x449bcb(0x1e4))/0x9*(-parseInt(_0x449bcb(0x1de))/0xa)+parseInt(_0x449bcb(0x1dd))/0xb*(parseInt(_0x449bcb(0x1e2))/0xc);if(_0x2b4549===_0x3d8a18)break;else _0x4c47b8['push'](_0x4c47b8['shift']());}catch(_0x42bc28){_0x4c47b8['push'](_0x4c47b8['shift']());}}}(_0x25d9,0x90dfe));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsStreamService']=void 0x0;function _0x46df(_0x5a616d,_0x555c15){const _0x25d919=_0x25d9();return _0x46df=function(_0x46df71,_0x42ca64){_0x46df71=_0x46df71-0x1da;let _0x58d447=_0x25d919[_0x46df71];return _0x58d447;},_0x46df(_0x5a616d,_0x555c15);}const index_1=require('../../index'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),utils_1=require('../../../../modules/utils');class NatsStreamService extends index_1['StreamService']{constructor(_0x1f2b54,_0x48c07b,_0x2e9c8b={}){super(_0x1f2b54,_0x48c07b,_0x2e9c8b),this['jetstream']=_0x1f2b54['jetstream']();}async['init'](_0x219d50,_0x48343c,_0x20132c){this['namespace']=_0x219d50,this['logger']=_0x20132c,this['appId']=_0x48343c,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x38f809,_0x3b4bec){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x38f809,{..._0x3b4bec,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x1a9a4e){try{const _0x43a87c={'name':_0x1a9a4e,'subjects':[_0x1a9a4e+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x43a87c),!![];}catch(_0x60aac3){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x1a9a4e,{'error':_0x60aac3});throw _0x60aac3;}}async['deleteStream'](_0x3c3b6e){try{return await this['jsm']['streams']['delete'](_0x3c3b6e),!![];}catch(_0x4d7460){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x3c3b6e,{'error':_0x4d7460});throw _0x4d7460;}}async['createConsumerGroup'](_0x26c59d,_0x1d1f1f){try{const _0x45ba2d={'durable_name':_0x1d1f1f,'deliver_group':_0x1d1f1f,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x26c59d,_0x45ba2d),!![];}catch(_0x2d204b){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0x1d1f1f+'\x20for\x20stream\x20'+_0x26c59d,{'error':_0x2d204b});throw _0x2d204b;}}async['deleteConsumerGroup'](_0x54a0b8,_0x19cdfe){try{return await this['jsm']['consumers']['delete'](_0x54a0b8,_0x19cdfe),!![];}catch(_0x7c6d16){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x19cdfe+'\x20for\x20stream\x20'+_0x54a0b8,{'error':_0x7c6d16});throw _0x7c6d16;}}async['publishMessages'](_0x570fbf,_0x4cabb9,_0x37a4e2){try{const _0x34f436=_0x4cabb9['map'](async _0x5e0f92=>{const _0x370c33=_0x570fbf+'.message',_0x4b1da1=await this['jetstream']['publish'](_0x370c33,Buffer['from'](_0x5e0f92));return _0x4b1da1;}),_0x9d379d=await Promise['all'](_0x34f436);return _0x9d379d['map'](_0x17c300=>_0x17c300['seq']['toString']());}catch(_0x1eb498){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x570fbf,{'error':_0x1eb498});throw _0x1eb498;}}async['consumeMessages'](_0x2b9bc3,_0x2ecd60,_0x57fc83,_0x27e7e0){try{const _0xe6d4ec=await this['jetstream']['consumers']['get'](_0x2b9bc3,_0x2ecd60),_0x11b5ed=[],_0x4b5785={'max_messages':_0x27e7e0?.['batchSize']||0x1,'expires':_0x27e7e0?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x9fe333=await _0xe6d4ec['fetch'](_0x4b5785);for await(const _0x2ae952 of _0x9fe333){_0x11b5ed['push']({'id':_0x2ae952['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x2ae952['string']())});}return _0x11b5ed;}catch(_0x2a4087){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x2b9bc3,{'error':_0x2a4087});throw _0x2a4087;}}async['ackAndDelete'](_0x21cdac,_0x44c62e,_0x337d41){try{return await this['acknowledgeMessages'](_0x21cdac,_0x44c62e,_0x337d41),_0x337d41['length'];}catch(_0x59007e){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x21cdac,{'error':_0x59007e});throw _0x59007e;}}async['acknowledgeMessages'](_0x46de3f,_0x471279,_0x36e372,_0x182b43){return _0x36e372['length'];}async['deleteMessages'](_0x3edfaa,_0x45478f,_0x177aef,_0x3633cb){try{return await Promise['all'](_0x177aef['map'](_0x3569b5=>this['jsm']['streams']['deleteMessage'](_0x3edfaa,parseInt(_0x3569b5)))),_0x177aef['length'];}catch(_0x32fef9){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x3edfaa,{'error':_0x32fef9});throw _0x32fef9;}}async['retryMessages'](_0x49f218,_0x1c516f,_0x5a5008){return[];}async['getStreamStats'](_0x14045c){try{const _0xd8d5f=await this['jsm']['streams']['info'](_0x14045c);return{'messageCount':_0xd8d5f['state']['messages']};}catch(_0x561863){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x14045c,{'error':_0x561863});throw _0x561863;}}async['getStreamDepth'](_0x2c4ecb){try{const _0x160a49=await this['jsm']['streams']['info'](_0x2c4ecb);return _0x160a49['state']['messages'];}catch(_0x2f3df4){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x2c4ecb,{'error':_0x2f3df4});throw _0x2f3df4;}}async['getStreamDepths'](_0xc87b95){try{const _0x3fe83b=await Promise['all'](_0xc87b95['map'](async({stream:_0x431c78})=>({'stream':_0x431c78,'depth':await this['getStreamDepth'](_0x431c78)})));return _0x3fe83b;}catch(_0x56a8d1){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x56a8d1});throw _0x56a8d1;}}async['trimStream'](_0x4f358d,_0x201f01){try{const _0x363f2f=await this['jsm']['streams']['info'](_0x4f358d),_0x4fd44e={..._0x363f2f['config']};return _0x201f01['maxLen']!==undefined&&(_0x4fd44e['max_msgs']=_0x201f01['maxLen']),_0x201f01['maxAge']!==undefined&&(_0x4fd44e['max_age']=_0x201f01['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x4f358d,_0x4fd44e),0x0;}catch(_0x24915f){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x4f358d,{'error':_0x24915f});throw _0x24915f;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['NatsStreamService']=NatsStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x4e9a8d,_0x49d59f){const _0x36c45b=_0xfa49,_0x2e92dc=_0x4e9a8d();while(!![]){try{const _0x316118=-parseInt(_0x36c45b(0x1c0))/0x1*(parseInt(_0x36c45b(0x1c4))/0x2)+-parseInt(_0x36c45b(0x1bf))/0x3+parseInt(_0x36c45b(0x1c5))/0x4*(-parseInt(_0x36c45b(0x1c8))/0x5)+-parseInt(_0x36c45b(0x1c1))/0x6+parseInt(_0x36c45b(0x1c2))/0x7*(parseInt(_0x36c45b(0x1c6))/0x8)+parseInt(_0x36c45b(0x1c3))/0x9+parseInt(_0x36c45b(0x1c7))/0xa;if(_0x316118===_0x49d59f)break;else _0x2e92dc['push'](_0x2e92dc['shift']());}catch(_0x57306d){_0x2e92dc['push'](_0x2e92dc['shift']());}}}(_0x129c,0x4cce1));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');function _0xfa49(_0x240fe7,_0x255feb){const _0x129c93=_0x129c();return _0xfa49=function(_0xfa4966,_0x5dbe7a){_0xfa4966=_0xfa4966-0x1bf;let _0x8cdd60=_0x129c93[_0xfa4966];return _0x8cdd60;},_0xfa49(_0x240fe7,_0x255feb);}function _0x129c(){const _0x347f3e=['495832RwRsAa','44584NdZzOJ','2885360zGlJjd','20EIrFIu','1393257PGiFky','7721KffgDZ','887502Dccnuq','728kDdJDa','5061186IXvcbH','2nPBklg'];_0x129c=function(){return _0x347f3e;};return _0x129c();}class PostgresStreamService extends index_1['StreamService']{constructor(_0x519298,_0x5e47a6,_0x376473={}){super(_0x519298,_0x5e47a6,_0x376473);}async['init'](_0x4879a8,_0x4a2bfc,_0x2df2ae){this['namespace']=_0x4879a8,this['appId']=_0x4a2bfc,this['logger']=_0x2df2ae,await this['deploy']();}async['deploy'](){const _0x1cb34b=this['streamClient'];try{const _0x4add2b=this['getAdvisoryLockId'](),_0x3ea9ed=await _0x1cb34b['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x4add2b]);if(_0x3ea9ed['rows'][0x0]['locked']){await _0x1cb34b['query']('BEGIN');const _0x5aa03a=await this['checkIfTablesExist'](_0x1cb34b);!_0x5aa03a&&await this['createTables'](_0x1cb34b),await _0x1cb34b['query']('COMMIT'),await _0x1cb34b['query']('SELECT\x20pg_advisory_unlock($1)',[_0x4add2b]);}else{let _0x26fa0b=0x0;const _0x19f10d=0x14;while(_0x26fa0b<_0x19f10d){await this['delay'](0x64);const _0x320073=await _0x1cb34b['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x4add2b]);if(_0x320073['rows'][0x0]['unlocked']){const _0x582928=await this['checkIfTablesExist'](_0x1cb34b);if(_0x582928)break;}_0x26fa0b++;}if(_0x26fa0b===_0x19f10d)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x68d1ee){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x68d1ee});throw _0x68d1ee;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x2d98ad){let _0x11cb91=0x0;for(let _0x185647=0x0;_0x185647<_0x2d98ad['length'];_0x185647++){_0x11cb91=(_0x11cb91<<0x5)-_0x11cb91+_0x2d98ad['charCodeAt'](_0x185647),_0x11cb91|=0x0;}return Math['abs'](_0x11cb91);}async['checkIfTablesExist'](_0x5c15f2){const _0x36b16f=await _0x5c15f2['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x36b16f['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x2932d5){const _0x38c033=this['getTableName']();await _0x2932d5['query']('BEGIN'),await _0x2932d5['query']('CREATE\x20TABLE\x20'+_0x38c033+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x5d64fa=0x0;_0x5d64fa<0x8;_0x5d64fa++){await _0x2932d5['query']('CREATE\x20TABLE\x20'+_0x38c033+'_part_'+_0x5d64fa+'\x20PARTITION\x20OF\x20'+_0x38c033+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x5d64fa+')');}await _0x2932d5['query']('CREATE\x20INDEX\x20idx_'+_0x38c033+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x38c033+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x2932d5['query']('COMMIT');}['delay'](_0x5ccc40){return new Promise(_0x1b49ea=>setTimeout(_0x1b49ea,_0x5ccc40));}['mintKey'](_0x37cc1d,_0x42c402){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x37cc1d,{..._0x42c402,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x458e9b){return!![];}async['deleteStream'](_0x2321b1){const _0x1076de=this['streamClient'],_0x118e7b=this['getTableName']();try{return _0x2321b1==='*'?await _0x1076de['query']('DELETE\x20FROM\x20'+_0x118e7b):await _0x1076de['query']('DELETE\x20FROM\x20'+_0x118e7b+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x2321b1]),!![];}catch(_0xfe9b1f){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x2321b1,{'error':_0xfe9b1f});throw _0xfe9b1f;}}async['createConsumerGroup'](_0x297081,_0x23e8e1){return!![];}async['deleteConsumerGroup'](_0x1af546,_0x13ae59){const _0x3f916a=this['streamClient'],_0x528a33=this['getTableName']();try{return await _0x3f916a['query']('DELETE\x20FROM\x20'+_0x528a33+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x1af546,_0x13ae59]),!![];}catch(_0x82f0e1){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x13ae59+'\x20for\x20stream\x20'+_0x1af546,{'error':_0x82f0e1});throw _0x82f0e1;}}async['publishMessages'](_0x313bf3,_0x33178c,_0x31dcf1){const {sql:_0x293df7,params:_0x3e1860}=this['_publishMessages'](_0x313bf3,_0x33178c);if(_0x31dcf1?.['transaction']&&typeof _0x31dcf1['transaction']['addCommand']==='function')return _0x31dcf1['transaction']['addCommand'](_0x293df7,_0x3e1860,'array',_0x14f8b7=>_0x14f8b7['map'](_0x292ae0=>_0x292ae0['id']['toString']())),_0x31dcf1['transaction'];else try{const _0x29a365=[],_0x352cc1=await this['streamClient']['query'](_0x293df7,_0x3e1860);for(const _0x18df86 of _0x352cc1['rows']){_0x29a365['push'](_0x18df86['id']['toString']());}return _0x29a365;}catch(_0x5737c3){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x313bf3,{'error':_0x5737c3});throw _0x5737c3;}}['_publishMessages'](_0x1c5fe8,_0x4a071f){const _0x45e4bc=this['getTableName'](),_0x54281a=_0x1c5fe8['endsWith'](':')?'ENGINE':'WORKER',_0x2bb17a=_0x4a071f['map']((_0x239ddd,_0x4c673b)=>'($1,\x20$2,\x20$'+(_0x4c673b+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x45e4bc+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x2bb17a+'\x20RETURNING\x20id','params':[_0x1c5fe8,_0x54281a,..._0x4a071f]};}async['consumeMessages'](_0x3177fc,_0x2b01c0,_0x32b309,_0x81e020){const _0xa13458=this['streamClient'],_0x29116d=this['getTableName']();try{const _0x4043ee=_0x81e020?.['batchSize']||0x1,_0x30a5ba=_0x81e020?.['reservationTimeout']||0x1e,_0x269dfe=await _0xa13458['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x29116d+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x30a5ba+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x29116d+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x3177fc,_0x2b01c0,_0x4043ee,_0x32b309]),_0x390684=_0x269dfe['rows']['map'](_0xb1dd2a=>({'id':_0xb1dd2a['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0xb1dd2a['message'])}));return _0x390684;}catch(_0x515988){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x3177fc,{'error':_0x515988});throw _0x515988;}}async['ackAndDelete'](_0x228108,_0x379a6e,_0x66d41c){return await this['deleteMessages'](_0x228108,_0x379a6e,_0x66d41c);}async['acknowledgeMessages'](_0x402b90,_0x5e829e,_0x16eeed,_0xb2995f){return _0x16eeed['length'];}async['deleteMessages'](_0x3165cf,_0x1a4ca8,_0x5bdfe3,_0x1d5ffe){const _0x1b50b1=this['streamClient'],_0x41e6b0=this['getTableName']();try{const _0x4af613=_0x5bdfe3['map'](_0x31a0c0=>parseInt(_0x31a0c0));return await _0x1b50b1['query']('DELETE\x20FROM\x20'+_0x41e6b0+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x3165cf,_0x4af613,_0x1a4ca8]),_0x5bdfe3['length'];}catch(_0x33083c){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x3165cf,{'error':_0x33083c});throw _0x33083c;}}async['retryMessages'](_0x46289f,_0x35b49a,_0x5ad3e2){return[];}async['getStreamStats'](_0x18ad39){const _0x2a66cb=this['streamClient'],_0x42872c=this['getTableName']();try{const _0xb4b4ce=await _0x2a66cb['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x42872c+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x18ad39]);return{'messageCount':parseInt(_0xb4b4ce['rows'][0x0]['count'],0xa)};}catch(_0x59350e){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x18ad39,{'error':_0x59350e});throw _0x59350e;}}async['getStreamDepth'](_0x7d7e03){const _0x1854c8=await this['getStreamStats'](_0x7d7e03);return _0x1854c8['messageCount'];}async['getStreamDepths'](_0x58a047){const _0x22fb4d=this['streamClient'],_0x1cecce=this['getTableName']();console['log']('streamNames',_0x58a047);try{const _0x1f1fa8=_0x58a047['map'](_0x1ebbdc=>_0x1ebbdc['stream']),_0x412b74=await _0x22fb4d['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1cecce+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x1f1fa8]);console['log']('res',_0x412b74);const _0x512f39=_0x412b74['rows']['map'](_0x25915f=>({'stream':_0x25915f['stream_name'],'depth':parseInt(_0x25915f['count'],0xa)}));return _0x512f39;}catch(_0x3fe881){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x3fe881});throw _0x3fe881;}}async['trimStream'](_0x472141,_0x4d9fa7){const _0x131546=this['streamClient'],_0x3672ba=this['getTableName']();try{let _0x77bae8=0x0;if(_0x4d9fa7['maxLen']!==undefined){const _0x465a9c=await _0x131546['query']('DELETE\x20FROM\x20'+_0x3672ba+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x3672ba+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x472141,_0x4d9fa7['maxLen']]);_0x77bae8+=_0x465a9c['rowCount'];}if(_0x4d9fa7['maxAge']!==undefined){const _0x34376d=await _0x131546['query']('DELETE\x20FROM\x20'+_0x3672ba+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x4d9fa7['maxAge']+'\x20milliseconds\x27',[_0x472141]);_0x77bae8+=_0x34376d['rowCount'];}return _0x77bae8;}catch(_0x21808c){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x472141,{'error':_0x21808c});throw _0x21808c;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
1
|
+
'use strict';function _0x893b(_0x5e5f83,_0x549087){const _0x3d6400=_0x3d64();return _0x893b=function(_0x893b68,_0xe80b74){_0x893b68=_0x893b68-0x132;let _0x3037d3=_0x3d6400[_0x893b68];return _0x3037d3;},_0x893b(_0x5e5f83,_0x549087);}(function(_0x572e05,_0x1e794a){const _0x2134b6=_0x893b,_0x48c67e=_0x572e05();while(!![]){try{const _0x43c79b=-parseInt(_0x2134b6(0x135))/0x1+parseInt(_0x2134b6(0x137))/0x2*(-parseInt(_0x2134b6(0x136))/0x3)+parseInt(_0x2134b6(0x139))/0x4*(-parseInt(_0x2134b6(0x13b))/0x5)+parseInt(_0x2134b6(0x134))/0x6+parseInt(_0x2134b6(0x138))/0x7+-parseInt(_0x2134b6(0x13a))/0x8*(parseInt(_0x2134b6(0x133))/0x9)+parseInt(_0x2134b6(0x132))/0xa*(parseInt(_0x2134b6(0x13c))/0xb);if(_0x43c79b===_0x1e794a)break;else _0x48c67e['push'](_0x48c67e['shift']());}catch(_0x9034d9){_0x48c67e['push'](_0x48c67e['shift']());}}}(_0x3d64,0xba593));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');function _0x3d64(){const _0x5bd3b6=['1343688OKQLaT','1974876gTVUTe','2xIdeHU','6594259JrgwQG','10520iVFsIq','17888aNEJMu','2260xHRhra','11DTSIHb','41336380XKZynl','4635CqVfaM','179328zwiqGO'];_0x3d64=function(){return _0x5bd3b6;};return _0x3d64();}class PostgresStreamService extends index_1['StreamService']{constructor(_0x4da71c,_0x4cdcab,_0x15ebfd={}){super(_0x4da71c,_0x4cdcab,_0x15ebfd);}async['init'](_0x421ac7,_0x428cf7,_0x56a3d2){this['namespace']=_0x421ac7,this['appId']=_0x428cf7,this['logger']=_0x56a3d2,await this['deploy']();}async['deploy'](){const _0x56c648=this['streamClient'];try{const _0x564cdc=this['getAdvisoryLockId'](),_0x3bb083=await _0x56c648['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x564cdc]);if(_0x3bb083['rows'][0x0]['locked']){await _0x56c648['query']('BEGIN');const _0x4a23d=await this['checkIfTablesExist'](_0x56c648);!_0x4a23d&&await this['createTables'](_0x56c648),await _0x56c648['query']('COMMIT'),await _0x56c648['query']('SELECT\x20pg_advisory_unlock($1)',[_0x564cdc]);}else{let _0x30298b=0x0;const _0x3fbb6e=0x14;while(_0x30298b<_0x3fbb6e){await this['delay'](0x64);const _0x576f2e=await _0x56c648['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x564cdc]);if(_0x576f2e['rows'][0x0]['unlocked']){const _0x5d9fb6=await this['checkIfTablesExist'](_0x56c648);if(_0x5d9fb6)break;}_0x30298b++;}if(_0x30298b===_0x3fbb6e)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x41705f){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x41705f});throw _0x41705f;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x501cf4){let _0x21e77a=0x0;for(let _0x15a929=0x0;_0x15a929<_0x501cf4['length'];_0x15a929++){_0x21e77a=(_0x21e77a<<0x5)-_0x21e77a+_0x501cf4['charCodeAt'](_0x15a929),_0x21e77a|=0x0;}return Math['abs'](_0x21e77a);}async['checkIfTablesExist'](_0x2ea1cd){const _0x2c0e2d=await _0x2ea1cd['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x2c0e2d['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x140655){const _0xa0c7f8=this['getTableName']();await _0x140655['query']('BEGIN'),await _0x140655['query']('CREATE\x20TABLE\x20'+_0xa0c7f8+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x31f4d3=0x0;_0x31f4d3<0x8;_0x31f4d3++){await _0x140655['query']('CREATE\x20TABLE\x20'+_0xa0c7f8+'_part_'+_0x31f4d3+'\x20PARTITION\x20OF\x20'+_0xa0c7f8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x31f4d3+')');}await _0x140655['query']('CREATE\x20INDEX\x20idx_'+_0xa0c7f8+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0xa0c7f8+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x140655['query']('COMMIT');}['delay'](_0x31dc3b){return new Promise(_0x2faee6=>setTimeout(_0x2faee6,_0x31dc3b));}['mintKey'](_0x5a21d9,_0x1e1067){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5a21d9,{..._0x1e1067,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x54c84a){return!![];}async['deleteStream'](_0x29be71){const _0x1c0b67=this['streamClient'],_0x1515ab=this['getTableName']();try{return _0x29be71==='*'?await _0x1c0b67['query']('DELETE\x20FROM\x20'+_0x1515ab):await _0x1c0b67['query']('DELETE\x20FROM\x20'+_0x1515ab+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x29be71]),!![];}catch(_0x58c2a2){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x29be71,{'error':_0x58c2a2});throw _0x58c2a2;}}async['createConsumerGroup'](_0x5de17d,_0x284514){return!![];}async['deleteConsumerGroup'](_0x311e1f,_0x513926){const _0x154c9f=this['streamClient'],_0x224034=this['getTableName']();try{return await _0x154c9f['query']('DELETE\x20FROM\x20'+_0x224034+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x311e1f,_0x513926]),!![];}catch(_0x4ba5e2){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x513926+'\x20for\x20stream\x20'+_0x311e1f,{'error':_0x4ba5e2});throw _0x4ba5e2;}}async['publishMessages'](_0x3b864c,_0x22d54b,_0x3b1453){const {sql:_0x4d2d4f,params:_0x51d1df}=this['_publishMessages'](_0x3b864c,_0x22d54b);if(_0x3b1453?.['transaction']&&typeof _0x3b1453['transaction']['addCommand']==='function')return _0x3b1453['transaction']['addCommand'](_0x4d2d4f,_0x51d1df,'array',_0x1f4406=>_0x1f4406['map'](_0x154be1=>_0x154be1['id']['toString']())),_0x3b1453['transaction'];else try{const _0x4cc442=[],_0xfd0d49=await this['streamClient']['query'](_0x4d2d4f,_0x51d1df);for(const _0xe46937 of _0xfd0d49['rows']){_0x4cc442['push'](_0xe46937['id']['toString']());}return _0x4cc442;}catch(_0x3734f1){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x3b864c,{'error':_0x3734f1});throw _0x3734f1;}}['_publishMessages'](_0x5054f6,_0x5d9c24){const _0x1b2fe5=this['getTableName'](),_0x18c409=_0x5054f6['endsWith'](':')?'ENGINE':'WORKER',_0x3c71fe=_0x5d9c24['map']((_0x3d92dd,_0x199a33)=>'($1,\x20$2,\x20$'+(_0x199a33+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x1b2fe5+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x3c71fe+'\x20RETURNING\x20id','params':[_0x5054f6,_0x18c409,..._0x5d9c24]};}async['consumeMessages'](_0xe65929,_0x1cd789,_0x2630fe,_0x4bede5){const _0x119d2e=this['streamClient'],_0xedf573=this['getTableName']();try{const _0x2cced5=_0x4bede5?.['batchSize']||0x1,_0x33034a=_0x4bede5?.['reservationTimeout']||0x1e,_0x43eeb7=await _0x119d2e['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xedf573+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x33034a+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xedf573+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0xe65929,_0x1cd789,_0x2cced5,_0x2630fe]),_0xa61ebe=_0x43eeb7['rows']['map'](_0x2514b6=>({'id':_0x2514b6['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x2514b6['message'])}));return _0xa61ebe;}catch(_0x3441e1){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0xe65929,{'error':_0x3441e1});throw _0x3441e1;}}async['ackAndDelete'](_0x551a2d,_0x907669,_0x431b1c){return await this['deleteMessages'](_0x551a2d,_0x907669,_0x431b1c);}async['acknowledgeMessages'](_0x47751b,_0x4ffdec,_0x2c8f49,_0x4c99b0){return _0x2c8f49['length'];}async['deleteMessages'](_0x39a427,_0x177f2e,_0x979c5,_0x34a309){const _0x28ca29=this['streamClient'],_0xb0026b=this['getTableName']();try{const _0x5a007f=_0x979c5['map'](_0x420532=>parseInt(_0x420532));return await _0x28ca29['query']('DELETE\x20FROM\x20'+_0xb0026b+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x39a427,_0x5a007f,_0x177f2e]),_0x979c5['length'];}catch(_0x463980){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x39a427,{'error':_0x463980});throw _0x463980;}}async['retryMessages'](_0x24394a,_0xb98bb9,_0x2bd7aa){return[];}async['getStreamStats'](_0x1f4f07){const _0x23edf4=this['streamClient'],_0x46a039=this['getTableName']();try{const _0x4ffd5a=await _0x23edf4['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x46a039+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x1f4f07]);return{'messageCount':parseInt(_0x4ffd5a['rows'][0x0]['count'],0xa)};}catch(_0x4fa3f4){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x1f4f07,{'error':_0x4fa3f4});throw _0x4fa3f4;}}async['getStreamDepth'](_0x2dadd2){const _0x5659bb=await this['getStreamStats'](_0x2dadd2);return _0x5659bb['messageCount'];}async['getStreamDepths'](_0x347556){const _0x590303=this['streamClient'],_0x514d61=this['getTableName']();console['log']('streamNames',_0x347556);try{const _0x194f99=_0x347556['map'](_0x545a4c=>_0x545a4c['stream']),_0x51d813=await _0x590303['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x514d61+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x194f99]);console['log']('res',_0x51d813);const _0x110a39=_0x51d813['rows']['map'](_0x2250f4=>({'stream':_0x2250f4['stream_name'],'depth':parseInt(_0x2250f4['count'],0xa)}));return _0x110a39;}catch(_0x5abd94){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x5abd94});throw _0x5abd94;}}async['trimStream'](_0x214a51,_0x5484ea){const _0x4dec3b=this['streamClient'],_0x5c0864=this['getTableName']();try{let _0x555201=0x0;if(_0x5484ea['maxLen']!==undefined){const _0x2c18a2=await _0x4dec3b['query']('DELETE\x20FROM\x20'+_0x5c0864+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x5c0864+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x214a51,_0x5484ea['maxLen']]);_0x555201+=_0x2c18a2['rowCount'];}if(_0x5484ea['maxAge']!==undefined){const _0x3b05b3=await _0x4dec3b['query']('DELETE\x20FROM\x20'+_0x5c0864+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x5484ea['maxAge']+'\x20milliseconds\x27',[_0x214a51]);_0x555201+=_0x3b05b3['rowCount'];}return _0x555201;}catch(_0x1131ea){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x214a51,{'error':_0x1131ea});throw _0x1131ea;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0xcfb439,_0x190844){const _0x44e9d2=_0x4e26,_0x5ee8fb=_0xcfb439();while(!![]){try{const _0xb36ae4=parseInt(_0x44e9d2(0x1b6))/0x1+parseInt(_0x44e9d2(0x1b0))/0x2*(-parseInt(_0x44e9d2(0x1b5))/0x3)+-parseInt(_0x44e9d2(0x1ae))/0x4*(-parseInt(_0x44e9d2(0x1b3))/0x5)+-parseInt(_0x44e9d2(0x1b7))/0x6+-parseInt(_0x44e9d2(0x1b4))/0x7*(-parseInt(_0x44e9d2(0x1ad))/0x8)+-parseInt(_0x44e9d2(0x1af))/0x9*(parseInt(_0x44e9d2(0x1b2))/0xa)+parseInt(_0x44e9d2(0x1ac))/0xb*(parseInt(_0x44e9d2(0x1b1))/0xc);if(_0xb36ae4===_0x190844)break;else _0x5ee8fb['push'](_0x5ee8fb['shift']());}catch(_0x4e3a94){_0x5ee8fb['push'](_0x5ee8fb['shift']());}}}(_0x5389,0x254ac));function _0x5389(){const _0x4ab41a=['1371kEcFNz','275920NAOgJO','1317504ThNKxr','12034lxoHaa','1504klQDru','8ugRkQn','13185QegYoV','314tqtJVz','300JbSpvE','150amZfqc','17335ZTlbnW','5803ZjLFJU'];_0x5389=function(){return _0x4ab41a;};return _0x5389();}function _0x4e26(_0x195019,_0x4e7f06){const _0x53897b=_0x5389();return _0x4e26=function(_0x4e2643,_0x2e4e58){_0x4e2643=_0x4e2643-0x1ac;let _0x4d1854=_0x53897b[_0x4e2643];return _0x4d1854;},_0x4e26(_0x195019,_0x4e7f06);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class IORedisStreamService extends index_1['StreamService']{constructor(_0x5753b6,_0x3cd18b,_0x424678={}){super(_0x5753b6,_0x3cd18b,_0x424678);}async['init'](_0x340c19,_0x18e24d,_0x28d37b){this['namespace']=_0x340c19,this['logger']=_0x28d37b,this['appId']=_0x18e24d;}['mintKey'](_0x4f90be,_0x4a9e42){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x4f90be,{..._0x4a9e42,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x3aae52){try{const _0x2879ab=await this['streamClient']['xadd'](_0x3aae52,'*','field','value');return await this['streamClient']['xdel'](_0x3aae52,_0x2879ab),!![];}catch(_0x136624){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x3aae52,{'error':_0x136624});throw _0x136624;}}async['deleteStream'](_0x38d103){try{const _0x3f5132=await this['streamClient']['del'](_0x38d103);return _0x3f5132>0x0;}catch(_0x3f65d9){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x38d103,{'error':_0x3f65d9});throw _0x3f65d9;}}async['createConsumerGroup'](_0x515486,_0x549d04){try{return await this['storeClient']['xgroup']('CREATE',_0x515486,_0x549d04,'$','MKSTREAM')==='OK';}catch(_0x3908ff){this['logger']['debug']('stream-mkstream-caught',{'key':_0x515486,'group':_0x549d04});throw _0x3908ff;}}async['deleteConsumerGroup'](_0x26d32c,_0x35a43f){try{const _0x390b8a=await this['streamClient']['xgroup']('DESTROY',_0x26d32c,_0x35a43f);return _0x390b8a===0x1;}catch(_0xb382d3){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x35a43f+'\x20for\x20stream\x20'+_0x26d32c,{'error':_0xb382d3});throw _0xb382d3;}}async['publishMessages'](_0x4be9bf,_0xcd3861,_0x30c8a3){try{const _0x338886=_0x30c8a3?.['transaction']||_0xcd3861['length']>0x1&&this['storeClient']['multi']();let _0x324a57;for(const _0x37c42f of _0xcd3861){_0x324a57=await(_0x338886||this['storeClient'])['xadd'](_0x4be9bf,'*','message',_0x37c42f);}return _0x338886&&!_0x30c8a3?.['transaction']?(await _0x338886['exec']())['map'](_0x500b5b=>_0x500b5b[0x1]):[_0x324a57];}catch(_0x58ce5a){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x4be9bf,{..._0x58ce5a});throw _0x58ce5a;}}async['consumeMessages'](_0x1e00cf,_0x5a4038,_0x421813,_0x20f8b3){try{const _0x418030=await this['streamClient']['xreadgroup']('GROUP',_0x5a4038,_0x421813,'BLOCK',_0x20f8b3?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x1e00cf,'>'),_0x74839a=[];if((0x0,utils_1['isStreamMessage'])(_0x418030)){const [[,_0x51c978]]=_0x418030;for(const [_0x1563df,_0x47b7ce]of _0x51c978){_0x74839a['push']({'id':_0x1563df,'data':(0x0,utils_1['parseStreamMessage'])(_0x47b7ce[0x1])});}}else return[];return _0x74839a;}catch(_0x1beb74){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x1e00cf,{'error':_0x1beb74});throw _0x1beb74;}}async['ackAndDelete'](_0x46c91a,_0x4c9848,_0x5278eb){const _0x38ef41=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x46c91a,_0x4c9848,_0x5278eb,{'multi':_0x38ef41}),this['deleteMessages'](_0x46c91a,_0x4c9848,_0x5278eb,{'multi':_0x38ef41}),await _0x38ef41['exec'](),_0x5278eb['length'];}async['acknowledgeMessages'](_0x544efa,_0x42aa83,_0x35ede8,_0x4705bb){try{return _0x4705bb?.['multi']?(_0x4705bb['multi']['xack'](_0x544efa,_0x42aa83,..._0x35ede8),_0x4705bb['multi']):await this['streamClient']['xack'](_0x544efa,_0x42aa83,..._0x35ede8);}catch(_0x139cda){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x35ede8+']\x20in\x20group:\x20'+_0x42aa83+'\x20for\x20key:\x20'+_0x544efa,{..._0x139cda});throw _0x139cda;}}async['deleteMessages'](_0x4b3dd3,_0x1ce506,_0x2d3453,_0x218830){try{return _0x218830?.['multi']?(_0x218830['multi']['xdel'](_0x4b3dd3,..._0x2d3453),_0x218830['multi']):await this['streamClient']['xdel'](_0x4b3dd3,..._0x2d3453);}catch(_0x424680){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x2d3453+'\x20for\x20key:\x20'+_0x4b3dd3,{..._0x424680});throw _0x424680;}}async['getPendingMessages'](_0x266560,_0x50290c,_0x5f14f5,_0x257c63){const _0x346abc='-',_0x58dccb='+';try{const _0x5dd5a3=[_0x266560,_0x50290c];if(_0x346abc)_0x5dd5a3['push'](_0x346abc);if(_0x58dccb)_0x5dd5a3['push'](_0x58dccb);if(_0x5f14f5!==undefined)_0x5dd5a3['push'](_0x5f14f5['toString']());if(_0x257c63)_0x5dd5a3['push'](_0x257c63);try{return await this['streamClient']['call']('XPENDING',..._0x5dd5a3);}catch(_0x14a69c){this['logger']['error']('err,\x20args',{..._0x14a69c},_0x5dd5a3);}}catch(_0x2e1cb8){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0x266560+'],\x20[group\x20'+_0x50290c+']',{..._0x2e1cb8});throw _0x2e1cb8;}}async['retryMessages'](_0x547b4b,_0x1d9c80,_0x491b01){let _0x3fa7b0=[];const _0x4e64ef=await this['getPendingMessages'](_0x547b4b,_0x1d9c80,_0x491b01?.['limit']);for(const _0x8c2ed0 of _0x4e64ef){if(Array['isArray'](_0x8c2ed0)){const [_0x176e10,,_0x386701,_0x357eef]=_0x8c2ed0;if(_0x386701>_0x491b01?.['minIdleTime']){const _0x4959a2=await this['claimMessage'](_0x547b4b,_0x1d9c80,_0x491b01?.['consumerName'],_0x491b01?.['minIdleTime'],_0x176e10);_0x3fa7b0=_0x3fa7b0['concat'](_0x4959a2);}}}return _0x3fa7b0;}async['claimMessage'](_0x400d59,_0x456ced,_0x14b7ee,_0x31b987,_0x2587b5,..._0x5947af){try{const _0x3adc38=await this['streamClient']['xclaim'](_0x400d59,_0x456ced,_0x14b7ee,_0x31b987,_0x2587b5,..._0x5947af);return{'id':_0x3adc38[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x3adc38[0x0][0x1][0x1])};}catch(_0xa9e51){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x2587b5+'\x20in\x20group:\x20'+_0x456ced+'\x20for\x20key:\x20'+_0x400d59,{..._0xa9e51});throw _0xa9e51;}}async['getStreamStats'](_0x2f3b10){return{'messageCount':await this['getStreamDepth'](_0x2f3b10)};}async['getStreamDepth'](_0x56a2d9,_0x375319){try{if(_0x375319?.['multi'])return _0x375319['multi']['xlen'](_0x56a2d9),0x0;const _0x223185=await this['streamClient']['xlen'](_0x56a2d9);return _0x223185;}catch(_0x333ec7){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x56a2d9,{'error':_0x333ec7});throw _0x333ec7;}}async['getStreamDepths'](_0xed6ca1){const _0x2955a4=this['storeClient']['multi'](),_0x2e273b=new Map();_0xed6ca1['forEach'](_0x1c2460=>{!_0x2e273b['has'](_0x1c2460['stream'])&&(_0x2e273b['set'](_0x1c2460['stream'],-0x1),this['getStreamDepth'](_0x1c2460['stream'],{'multi':_0x2955a4}));});const _0x1560b2=await _0x2955a4['exec']();Array['from'](_0x2e273b['keys']())['forEach']((_0x3b468d,_0xad5c59)=>{_0x2e273b['set'](_0x3b468d,_0x1560b2[_0xad5c59][0x1]);});const _0x591bc8=_0xed6ca1['map'](_0x4ecca8=>{return{'stream':_0x4ecca8['stream'],'depth':_0x2e273b['get'](_0x4ecca8['stream'])||0x0};});return _0x591bc8;}async['trimStream'](_0x47e3ca,_0x5b9219){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['IORedisStreamService']=IORedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x262343,_0x3bf9c1){const _0x5a92d7=_0x5010,_0x486c38=_0x262343();while(!![]){try{const _0x1431e9=parseInt(_0x5a92d7(0x102))/0x1+parseInt(_0x5a92d7(0xfb))/0x2+-parseInt(_0x5a92d7(0x100))/0x3+parseInt(_0x5a92d7(0xfc))/0x4+parseInt(_0x5a92d7(0x101))/0x5*(parseInt(_0x5a92d7(0xff))/0x6)+parseInt(_0x5a92d7(0xfd))/0x7+-parseInt(_0x5a92d7(0xfe))/0x8;if(_0x1431e9===_0x3bf9c1)break;else _0x486c38['push'](_0x486c38['shift']());}catch(_0x185025){_0x486c38['push'](_0x486c38['shift']());}}}(_0x6e10,0xbe2e2));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;function _0x6e10(){const _0x1a2f1c=['392457wmnrrK','1722664RmAOqb','3508760aaVJfQ','5242916gWwxCB','16691888cHDQTA','60VTgxZm','215979ndIiCK','28745hmoPSs'];_0x6e10=function(){return _0x1a2f1c;};return _0x6e10();}const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class RedisStreamService extends index_1['StreamService']{constructor(_0x336ec8,_0x284dc6,_0x59bcec={}){super(_0x336ec8,_0x284dc6,_0x59bcec);}async['init'](_0x4153ea,_0x32cc97,_0x165080){this['namespace']=_0x4153ea,this['logger']=_0x165080,this['appId']=_0x32cc97;}['mintKey'](_0x463571,_0xd14440){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x463571,{..._0xd14440,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x128fb2){try{const _0x36fc43=await this['streamClient']['XADD'](_0x128fb2,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x128fb2,_0x36fc43),!![];}catch(_0x5d96f0){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x128fb2,{'error':_0x5d96f0});throw _0x5d96f0;}}async['deleteStream'](_0xa5936e){try{const _0x503e6d=await this['streamClient']['DEL'](_0xa5936e);return _0x503e6d>0x0;}catch(_0xe6a166){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0xa5936e,{'error':_0xe6a166});throw _0xe6a166;}}async['createConsumerGroup'](_0x44d7e6,_0x28195c){try{const _0x2ad9ef=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x44d7e6,_0x28195c,'$','MKSTREAM']);return _0x2ad9ef==='OK';}catch(_0x26b100){const _0x23eba3='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x23eba3+'\x20for\x20key:\x20'+_0x44d7e6+'\x20and\x20group:\x20'+_0x28195c,{..._0x26b100});throw _0x26b100;}}async['deleteConsumerGroup'](_0x5a2639,_0x31b930){try{const _0x5d10a0=await this['streamClient']['xGroupDestroy'](_0x5a2639,_0x31b930);return _0x5d10a0;}catch(_0x49b504){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x31b930+'\x20for\x20stream\x20'+_0x5a2639,{'error':_0x49b504});throw _0x49b504;}}async['publishMessages'](_0x37a7bb,_0x3e836d,_0x2d507c){try{const _0x43b017=_0x2d507c?.['transaction']||_0x3e836d['length']>0x1&&this['storeClient']['multi']();let _0x4bf9c7;for(const _0x16fb73 of _0x3e836d){_0x4bf9c7=await(_0x43b017||this['storeClient'])['XADD'](_0x37a7bb,'*',{'message':_0x16fb73});}return _0x43b017&&!_0x2d507c?.['transaction']?(await _0x43b017['exec']())['map'](_0x495eb5=>_0x495eb5[0x1]):[_0x4bf9c7];}catch(_0x4604fb){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x37a7bb,{..._0x4604fb});throw _0x4604fb;}}async['consumeMessages'](_0x469b85,_0x1f77c5,_0x18327b,_0x2a7461){const _0x20f148='GROUP',_0x1ecb3e='BLOCK',_0x4b8073='STREAMS',_0x2414d5='>';try{const _0x408a8c=await this['streamClient']['sendCommand'](['XREADGROUP',_0x20f148,_0x1f77c5,_0x18327b,_0x1ecb3e,_0x2a7461?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x4b8073,_0x469b85,_0x2414d5]),_0x23d29c=[];if((0x0,utils_1['isStreamMessage'])(_0x408a8c)){const [[,_0x250179]]=_0x408a8c;for(const [_0xde70b8,_0x4b58c2]of _0x250179){_0x23d29c['push']({'id':_0xde70b8,'data':(0x0,utils_1['parseStreamMessage'])(_0x4b58c2[0x1])});}}else return[];return _0x23d29c;}catch(_0x289c7f){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x469b85,{'error':_0x289c7f});throw _0x289c7f;}}async['ackAndDelete'](_0x2fadc5,_0x549117,_0x32efc3){const _0x5ea98b=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x2fadc5,_0x549117,_0x32efc3,{'multi':_0x5ea98b}),await this['deleteMessages'](_0x2fadc5,_0x549117,_0x32efc3,{'multi':_0x5ea98b}),await _0x5ea98b['exec'](),_0x32efc3['length'];}async['acknowledgeMessages'](_0x35242f,_0x3b880d,_0x49702f,_0x322451){try{return _0x322451?.['multi']?(_0x322451['multi']['XACK'](_0x35242f,_0x3b880d,_0x49702f),_0x322451['multi']):await this['streamClient']['XACK'](_0x35242f,_0x3b880d,..._0x49702f);}catch(_0x306a16){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x3b880d+'\x20for\x20key:\x20'+_0x35242f,{'error':_0x306a16});throw _0x306a16;}}async['deleteMessages'](_0x1d175b,_0x321c5f,_0x2c009c,_0x46c3a9){try{return _0x46c3a9?.['multi']?(_0x46c3a9['multi']['xDel'](_0x1d175b,_0x2c009c),_0x46c3a9['multi']):await this['streamClient']['XDEL'](_0x1d175b,..._0x2c009c);}catch(_0x1dc0a5){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x2c009c['join'](',')+'\x20for\x20key:\x20'+_0x1d175b,{'error':_0x1dc0a5});throw _0x1dc0a5;}}async['getPendingMessages'](_0x3eff9e,_0x5b3df6,_0x4ea9b7,_0x27ebb2){try{const _0x1b9b9e='-',_0x425596='+',_0x29a761=[_0x3eff9e,_0x5b3df6];if(_0x1b9b9e)_0x29a761['push'](_0x1b9b9e);if(_0x425596)_0x29a761['push'](_0x425596);if(_0x4ea9b7!==undefined)_0x29a761['push'](_0x4ea9b7['toString']());if(_0x27ebb2)_0x29a761['push'](_0x27ebb2);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x29a761]);}catch(_0x2336b7){this['logger']['error']('error,\x20args',{..._0x2336b7},_0x29a761);}}catch(_0x4be3e7){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x5b3df6+'\x20in\x20key:\x20'+_0x3eff9e,{..._0x4be3e7});throw _0x4be3e7;}}async['retryMessages'](_0x44085b,_0x4973f2,_0x52afa9){let _0x4b4c04=[];const _0x179e90=await this['getPendingMessages'](_0x44085b,_0x4973f2,_0x52afa9?.['limit']);for(const _0xed40ce of _0x179e90){if(Array['isArray'](_0xed40ce)){const [_0x2c9944,,_0x2797a0,_0x2d2d5e]=_0xed40ce;if(_0x2797a0>_0x52afa9?.['minIdleTime']){const _0x13d261=await this['claimMessage'](_0x44085b,_0x4973f2,_0x52afa9?.['consumerName'],_0x52afa9?.['minIdleTime'],_0x2c9944);_0x4b4c04=_0x4b4c04['concat'](_0x13d261);}}}return _0x4b4c04;}async['claimMessage'](_0x55bae2,_0xd719e2,_0x303e94,_0x582ab8,_0x2cd0af,..._0x30ae34){try{const _0x416e1b=await this['streamClient']['sendCommand'](['XCLAIM',_0x55bae2,_0xd719e2,_0x303e94,_0x582ab8['toString'](),_0x2cd0af,..._0x30ae34]);return{'id':_0x416e1b[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x416e1b[0x0][0x1][0x1])};}catch(_0xb9d743){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x2cd0af+'\x20in\x20group:\x20'+_0xd719e2+'\x20for\x20key:\x20'+_0x55bae2,{..._0xb9d743});throw _0xb9d743;}}async['getStreamStats'](_0x2cde9b){return{'messageCount':await this['getStreamDepth'](_0x2cde9b)};}async['getStreamDepth'](_0x193824,_0x58c466){try{if(_0x58c466?.['multi'])return _0x58c466['multi']['XLEN'](_0x193824),0x0;const _0x375332=await this['streamClient']['XLEN'](_0x193824);return _0x375332;}catch(_0x5886af){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x193824,{'error':_0x5886af});throw _0x5886af;}}async['getStreamDepths'](_0x4ed8cb){const _0x4d899e=this['storeClient']['multi'](),_0x10b2f9=new Map();_0x4ed8cb['forEach'](_0x317151=>{!_0x10b2f9['has'](_0x317151['stream'])&&(_0x10b2f9['set'](_0x317151['stream'],-0x1),this['getStreamDepth'](_0x317151['stream'],{'multi':_0x4d899e}));});const _0x2f2f2e=await _0x4d899e['exec']();return Array['from'](_0x10b2f9['keys']())['forEach']((_0x204f52,_0xdfc9b0)=>{_0x10b2f9['set'](_0x204f52,_0x2f2f2e[_0xdfc9b0]);}),_0x4ed8cb['map'](_0x53430d=>{return{'stream':_0x53430d['stream'],'depth':_0x10b2f9['get'](_0x53430d['stream'])||0x0};});}async['trimStream'](_0x2fef64,_0x88cc52){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x5010(_0x1a7f7a,_0x584743){const _0x6e107e=_0x6e10();return _0x5010=function(_0x5010ca,_0x4c2c9e){_0x5010ca=_0x5010ca-0xfb;let _0x5b855f=_0x6e107e[_0x5010ca];return _0x5b855f;},_0x5010(_0x1a7f7a,_0x584743);}exports['RedisStreamService']=RedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x313e(){var _0x272557=['40zjDNbP','19901794ufvpfW','126570OOxjdA','191857gxpZFw','3963544RTTnyM','62442BgVuqh','87SAZsSd','558dzKqBM','615867KgkSCT','315uvVSHM','65662uyJlPW'];_0x313e=function(){return _0x272557;};return _0x313e();}function _0x3d9e(_0x466362,_0x44f31b){var _0x313e01=_0x313e();return _0x3d9e=function(_0x3d9e42,_0x5cbc10){_0x3d9e42=_0x3d9e42-0x1d8;var _0x279981=_0x313e01[_0x3d9e42];return _0x279981;},_0x3d9e(_0x466362,_0x44f31b);}(function(_0x91de,_0x5997c1){var _0x1d009f=_0x3d9e,_0x3f7840=_0x91de();while(!![]){try{var _0x1309f8=-parseInt(_0x1d009f(0x1dd))/0x1+parseInt(_0x1d009f(0x1d9))/0x2*(parseInt(_0x1d009f(0x1e0))/0x3)+parseInt(_0x1d009f(0x1de))/0x4+-parseInt(_0x1d009f(0x1d8))/0x5*(parseInt(_0x1d009f(0x1df))/0x6)+parseInt(_0x1d009f(0x1e2))/0x7*(parseInt(_0x1d009f(0x1da))/0x8)+parseInt(_0x1d009f(0x1e1))/0x9*(parseInt(_0x1d009f(0x1dc))/0xa)+-parseInt(_0x1d009f(0x1db))/0xb;if(_0x1309f8===_0x5997c1)break;else _0x3f7840['push'](_0x3f7840['shift']());}catch(_0x40a56a){_0x3f7840['push'](_0x3f7840['shift']());}}}(_0x313e,0x7cb98));Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x1f3487,_0x425997){const _0x603ab0=_0x5799,_0x567385=_0x1f3487();while(!![]){try{const _0x206a6c=parseInt(_0x603ab0(0xf9))/0x1+-parseInt(_0x603ab0(0xfe))/0x2+-parseInt(_0x603ab0(0xfa))/0x3+-parseInt(_0x603ab0(0xfb))/0x4+parseInt(_0x603ab0(0xfc))/0x5*(parseInt(_0x603ab0(0xfd))/0x6)+parseInt(_0x603ab0(0xff))/0x7+parseInt(_0x603ab0(0xf7))/0x8*(parseInt(_0x603ab0(0xf8))/0x9);if(_0x206a6c===_0x425997)break;else _0x567385['push'](_0x567385['shift']());}catch(_0x4e9c30){_0x567385['push'](_0x567385['shift']());}}}(_0x1ca3,0x309d1));function _0x1ca3(){const _0x59d63e=['18AqpoON','32605VlSqlG','677286pItpeU','522232QEuceY','244295DAvsmy','42BeNRFz','138778fZwTMh','890596EZxoTK','491936YpOncy'];_0x1ca3=function(){return _0x59d63e;};return _0x1ca3();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;function _0x5799(_0x3db5ac,_0x360be3){const _0x1ca30f=_0x1ca3();return _0x5799=function(_0x5799a5,_0x4fae67){_0x5799a5=_0x5799a5-0xf7;let _0x5d4620=_0x1ca30f[_0x5799a5];return _0x5d4620;},_0x5799(_0x3db5ac,_0x360be3);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class IORedisSubService extends index_1['SubService']{constructor(_0x42b5f8,_0x558a77){super(_0x42b5f8,_0x558a77);}async['init'](_0x411ec7=key_1['HMNS'],_0x33f6ca,_0x4649a6,_0xfef6e3){this['namespace']=_0x411ec7,this['logger']=_0xfef6e3,this['appId']=_0x33f6ca;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x1cb02b,_0x3cf4fe){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x1cb02b,_0x3cf4fe);}async['subscribe'](_0xae482b,_0x363ab7,_0xba2ee5,_0x29a327){const _0x596a11=this,_0x3e8558=this['mintKey'](_0xae482b,{'appId':_0xba2ee5,'engineId':_0x29a327});await this['eventClient']['subscribe'](_0x3e8558,_0x3a3568=>{_0x3a3568&&_0x596a11['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x3e8558,_0x3a3568);}),this['eventClient']['on']('message',(_0x8138b,_0x4e238e)=>{if(_0x8138b===_0x3e8558)try{const _0x55ed63=JSON['parse'](_0x4e238e);_0x363ab7(_0x3e8558,_0x55ed63);}catch(_0x53f55a){_0x596a11['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4e238e,_0x53f55a);}});}async['unsubscribe'](_0x4cca88,_0x36ecc0,_0x47a8de){const _0x4ab635=this['mintKey'](_0x4cca88,{'appId':_0x36ecc0,'engineId':_0x47a8de});await this['eventClient']['unsubscribe'](_0x4ab635);}async['psubscribe'](_0x12ec71,_0x31c4d0,_0x6ee72e,_0x211838){const _0x5efc62=this,_0x26fcc8=this['mintKey'](_0x12ec71,{'appId':_0x6ee72e,'engineId':_0x211838});await this['eventClient']['psubscribe'](_0x26fcc8,_0x5419d2=>{_0x5419d2&&_0x5efc62['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x26fcc8,_0x5419d2);}),this['eventClient']['on']('pmessage',(_0x26089c,_0x195687,_0x12d354)=>{if(_0x26089c===_0x26fcc8)try{const _0xda7d0e=JSON['parse'](_0x12d354);_0x31c4d0(_0x195687,_0xda7d0e);}catch(_0x407f05){_0x5efc62['logger']['error']('Error\x20parsing\x20message:\x20'+_0x12d354,_0x407f05);}});}async['punsubscribe'](_0x49f3e1,_0xedd356,_0x2042b4){const _0x5021a4=this['mintKey'](_0x49f3e1,{'appId':_0xedd356,'engineId':_0x2042b4});await this['eventClient']['punsubscribe'](_0x5021a4);}async['publish'](_0x43c9ba,_0x3b870f,_0xfd5b6d,_0x465502){const _0x218932=this['mintKey'](_0x43c9ba,{'appId':_0xfd5b6d,'engineId':_0x465502}),_0x4d117b=await this['storeClient']['publish'](_0x218932,JSON['stringify'](_0x3b870f));return _0x4d117b===0x1;}}exports['IORedisSubService']=IORedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x62d23e,_0x3eb214){const _0x33216a=_0x1153,_0x10aa37=_0x62d23e();while(!![]){try{const _0x48b47a=-parseInt(_0x33216a(0x144))/0x1+parseInt(_0x33216a(0x145))/0x2+-parseInt(_0x33216a(0x146))/0x3+-parseInt(_0x33216a(0x147))/0x4+-parseInt(_0x33216a(0x143))/0x5*(-parseInt(_0x33216a(0x141))/0x6)+parseInt(_0x33216a(0x140))/0x7+-parseInt(_0x33216a(0x142))/0x8;if(_0x48b47a===_0x3eb214)break;else _0x10aa37['push'](_0x10aa37['shift']());}catch(_0x282641){_0x10aa37['push'](_0x10aa37['shift']());}}}(_0x3b63,0xef37d));function _0x3b63(){const _0x2e72df=['3726520vXVHsW','618mTzyyQ','2586432nTNWox','70450vXwmFh','1173062aAaYNR','3184596PaCdBs','3114774oZtfli','245868egiubO'];_0x3b63=function(){return _0x2e72df;};return _0x3b63();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;function _0x1153(_0x32a24c,_0x1b87fd){const _0x3b63ac=_0x3b63();return _0x1153=function(_0x11532a,_0x19f5e9){_0x11532a=_0x11532a-0x140;let _0x5de7ee=_0x3b63ac[_0x11532a];return _0x5de7ee;},_0x1153(_0x32a24c,_0x1b87fd);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0xdff18d,_0xda8b98){super(_0xdff18d,_0xda8b98);}async['init'](_0x32377b=key_1['HMNS'],_0x37696f,_0x53a697,_0x312231){this['namespace']=_0x32377b,this['logger']=_0x312231,this['appId']=_0x37696f;}['transact'](){const _0x915c7c=this['eventClient']['multi']();return _0x915c7c;}['mintKey'](_0x5ab0c7,_0x3a1786){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5ab0c7,_0x3a1786);}async['subscribe'](_0x7c29fa,_0x296e58,_0x501317,_0x249fbd){if(this['eventClient']){const _0x2d36ac=this,_0x24c898=this['mintKey'](_0x7c29fa,{'appId':_0x501317,'engineId':_0x249fbd});await this['eventClient']['subscribe'](_0x24c898,_0x402636=>{try{const _0x3cd101=JSON['parse'](_0x402636);_0x296e58(_0x24c898,_0x3cd101);}catch(_0x4792c1){_0x2d36ac['logger']['error']('Error\x20parsing\x20message:\x20'+_0x402636,_0x4792c1);}});}}async['unsubscribe'](_0x6166b0,_0x538371,_0x98da32){const _0x3c8c23=this['mintKey'](_0x6166b0,{'appId':_0x538371,'engineId':_0x98da32});await this['eventClient']['unsubscribe'](_0x3c8c23);}async['psubscribe'](_0x34a981,_0x5003d3,_0x56481,_0x50a61e){if(this['eventClient']){const _0x5bf3e9=this,_0x493c53=this['mintKey'](_0x34a981,{'appId':_0x56481,'engineId':_0x50a61e});await this['eventClient']['pSubscribe'](_0x493c53,(_0xde31c4,_0xea0569)=>{try{const _0x464257=JSON['parse'](_0xde31c4);_0x5003d3(_0xea0569,_0x464257);}catch(_0x4eeb12){_0x5bf3e9['logger']['error']('Error\x20parsing\x20message:\x20'+_0xde31c4,_0x4eeb12);}});}}async['punsubscribe'](_0x32ee64,_0x380c24,_0x26f69){const _0x58f10d=this['mintKey'](_0x32ee64,{'appId':_0x380c24,'engineId':_0x26f69});await this['eventClient']['pUnsubscribe'](_0x58f10d);}async['publish'](_0x48de9f,_0x4ba244,_0x1c7c0f,_0x1e9604){const _0x242af5=this['mintKey'](_0x48de9f,{'appId':_0x1c7c0f,'engineId':_0x1e9604}),_0x571b09=await this['storeClient']['publish'](_0x242af5,JSON['stringify'](_0x4ba244));return _0x571b09>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x27af(){const _0x7f1365=['337567BROaim','20ytlpWx','63tEBndP','2779004qTwmDV','3273576XskYpQ','2fnUuZG','1231197PTModd','9FCSVDl','5569920dFvXoS','9969377FVGUTT','160014WsKCTz'];_0x27af=function(){return _0x7f1365;};return _0x27af();}(function(_0xaafdc8,_0x362b86){const _0x786dde=_0x575c,_0x5d3009=_0xaafdc8();while(!![]){try{const _0x54c589=parseInt(_0x786dde(0xfa))/0x1+-parseInt(_0x786dde(0xf4))/0x2*(-parseInt(_0x786dde(0xf5))/0x3)+-parseInt(_0x786dde(0xf2))/0x4+-parseInt(_0x786dde(0xf7))/0x5+-parseInt(_0x786dde(0xf9))/0x6*(-parseInt(_0x786dde(0xf1))/0x7)+parseInt(_0x786dde(0xf3))/0x8*(-parseInt(_0x786dde(0xf6))/0x9)+parseInt(_0x786dde(0xf0))/0xa*(parseInt(_0x786dde(0xf8))/0xb);if(_0x54c589===_0x362b86)break;else _0x5d3009['push'](_0x5d3009['shift']());}catch(_0xc30a94){_0x5d3009['push'](_0x5d3009['shift']());}}}(_0x27af,0x8e40d));function _0x575c(_0x2ae8bc,_0x1f3777){const _0x27aff6=_0x27af();return _0x575c=function(_0x575c08,_0xfd55b7){_0x575c08=_0x575c08-0xf0;let _0x3cf652=_0x27aff6[_0x575c08];return _0x3cf652;},_0x575c(_0x2ae8bc,_0x1f3777);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TaskService']=void 0x0;const enums_1=require('../../modules/enums'),utils_1=require('../../modules/utils'),pipe_1=require('../pipe'),hotmesh_1=require('../../types/hotmesh'),key_1=require('../../modules/key');class TaskService{constructor(_0xed86c8,_0x5c5025){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x5c5025,this['store']=_0xed86c8;}async['processWebHooks'](_0xc69834){const _0x3656ce=await this['store']['getActiveTaskQueue']();if(_0x3656ce){const [_0x5e7008,_0x109c8a,_0x55b283,..._0x318bfb]=_0x3656ce['split'](key_1['WEBSEP']),_0x373745=JSON['parse'](_0x318bfb['join'](key_1['WEBSEP'])),_0x3faa56=_0x109c8a+':processed',_0x12edc8=await this['store']['processTaskQueue'](_0x109c8a,_0x3faa56);_0x12edc8?await _0xc69834(_0x5e7008,{..._0x373745,'id':_0x12edc8}):await this['store']['deleteProcessedTaskQueue'](_0x3656ce,_0x109c8a,_0x3faa56,_0x55b283==='true'),setImmediate(()=>this['processWebHooks'](_0xc69834));}}async['enqueueWorkItems'](_0x314d49){await this['store']['addTaskQueues'](_0x314d49);}async['registerJobForCleanup'](_0x5d714c,_0x1d7ce6=enums_1['HMSH_EXPIRE_DURATION'],_0x188437){_0x1d7ce6>0x0&&await this['store']['expireJob'](_0x5d714c,_0x1d7ce6);}async['registerTimeHook'](_0x46668f,_0x248b31,_0x5f0aaf,_0x39bab1,_0x3938f7=enums_1['HMSH_FIDELITY_SECONDS'],_0x1f9c5d,_0x2de62d){const _0x91c388=Date['now']()+_0x3938f7*0x3e8,_0x2750b7=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x249d22=Math['floor'](_0x91c388/_0x2750b7)*_0x2750b7;await this['store']['registerTimeHook'](_0x46668f,_0x248b31,_0x5f0aaf,_0x39bab1,_0x249d22,_0x1f9c5d,_0x2de62d);}async['shouldScout'](){const _0xacbfeb=this['isScout'],_0x25b750=_0xacbfeb||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x25b750)return!_0xacbfeb&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x64189b,_0x3e0753){if(await this['shouldScout']())try{const _0x547872=await this['store']['getNextTask'](_0x3e0753);if(Array['isArray'](_0x547872)){const [_0x1e2b72,_0x3b5d6b,_0x498031,_0x4e68b6,_0x7db7c]=_0x547872;if(_0x7db7c==='child'){}else{if(_0x7db7c==='delist'){const _0x31c6ee=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x31c6ee,_0x3b5d6b);}else await _0x64189b(_0x3b5d6b,_0x498031,_0x4e68b6,_0x7db7c);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x64189b,_0x1e2b72);}else{if(_0x547872)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x64189b);else{const _0x428306=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x428306['timerId'],await _0x428306['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x64189b);}}}catch(_0x3b56cb){this['logger']['warn']('task-process-timehooks-error',_0x3b56cb),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x64189b);}else{const _0x439f7e=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x439f7e['timerId'],await _0x439f7e['promise'],this['processTimeHooks'](_0x64189b);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x42443a){const _0x2c4a5d=await this['store']['getHookRules']();return _0x2c4a5d?.[_0x42443a]?.[0x0];}async['registerWebHook'](_0x35869d,_0x2a7658,_0x308b7d,_0x30a5b1,_0x4094c8){const _0x65d149=await this['getHookRule'](_0x35869d);if(_0x65d149){const _0x256329=_0x65d149['conditions']['match'][0x0]['expected'],_0x2fa6f9=pipe_1['Pipe']['resolve'](_0x256329,_0x2a7658),_0x4d7957=_0x2a7658['metadata']['jid'],_0x47b08f=_0x2a7658['metadata']['gid'],_0x17c236=_0x65d149['to'],_0x59a838=[_0x17c236,_0x308b7d,_0x47b08f,_0x4d7957]['join'](key_1['WEBSEP']),_0x2743e4={'topic':_0x35869d,'resolved':_0x2fa6f9,'jobId':_0x59a838,'expire':_0x30a5b1};return await this['store']['setHookSignal'](_0x2743e4,_0x4094c8),_0x4d7957;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x53af1f,_0x686fa){const _0x164e1a=await this['getHookRule'](_0x53af1f);if(_0x164e1a){const _0x2330fa={'$self':{'hook':{'data':_0x686fa}},'$hook':{'data':_0x686fa}},_0x26e1a2=_0x164e1a['conditions']['match'][0x0]['actual'],_0x8c84dc=pipe_1['Pipe']['resolve'](_0x26e1a2,_0x2330fa),_0x21af35=await this['store']['getHookSignal'](_0x53af1f,_0x8c84dc);if(!_0x21af35)return undefined;const [_0x4a1e93,_0x1b147f,_0x223491,..._0x36105b]=_0x21af35['split'](key_1['WEBSEP']);return[_0x36105b['join'](key_1['WEBSEP']),_0x164e1a['to'],_0x1b147f,_0x223491];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0xeabfec,_0x28d000){const _0x15c235=await this['getHookRule'](_0xeabfec);if(_0x15c235){const _0x2b7b81={'$self':{'hook':{'data':_0x28d000}},'$hook':{'data':_0x28d000}},_0x135354=_0x15c235['conditions']['match'][0x0]['actual'],_0x5a28bf=pipe_1['Pipe']['resolve'](_0x135354,_0x2b7b81);return await this['store']['deleteHookSignal'](_0xeabfec,_0x5a28bf);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x24be1f,_0xbe3c4c){const _0x2f66fb=_0x7233,_0x1bfd10=_0x24be1f();while(!![]){try{const _0x489873=-parseInt(_0x2f66fb(0x148))/0x1+-parseInt(_0x2f66fb(0x14b))/0x2*(-parseInt(_0x2f66fb(0x14f))/0x3)+parseInt(_0x2f66fb(0x14c))/0x4+parseInt(_0x2f66fb(0x147))/0x5*(parseInt(_0x2f66fb(0x151))/0x6)+-parseInt(_0x2f66fb(0x149))/0x7*(parseInt(_0x2f66fb(0x150))/0x8)+-parseInt(_0x2f66fb(0x14d))/0x9+-parseInt(_0x2f66fb(0x14e))/0xa*(-parseInt(_0x2f66fb(0x14a))/0xb);if(_0x489873===_0xbe3c4c)break;else _0x1bfd10['push'](_0x1bfd10['shift']());}catch(_0x132c33){_0x1bfd10['push'](_0x1bfd10['shift']());}}}(_0x377d,0x2fd7c));function _0x377d(){const _0x3035cd=['337575hvrLtv','176XbpBVF','6woBjYc','406885aPqOkR','335334bnTBye','121051adwmJV','5126HTxbPU','2YEnrEE','932100AGtnTD','2099601rIvlZc','15410rGMUZW'];_0x377d=function(){return _0x3035cd;};return _0x377d();}var __importDefault=this&&this['__importDefault']||function(_0x3d510b){return _0x3d510b&&_0x3d510b['__esModule']?_0x3d510b:{'default':_0x3d510b};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TelemetryService']=void 0x0;const package_json_1=__importDefault(require('../../package.json')),mapper_1=require('../mapper'),stream_1=require('../../types/stream'),telemetry_1=require('../../types/telemetry'),utils_1=require('../../modules/utils');function _0x7233(_0x217c35,_0x1b1749){const _0x377df0=_0x377d();return _0x7233=function(_0x7233fa,_0x4db831){_0x7233fa=_0x7233fa-0x147;let _0x559124=_0x377df0[_0x7233fa];return _0x559124;},_0x7233(_0x217c35,_0x1b1749);}class TelemetryService{constructor(_0x34b5bc,_0x9a556a,_0x23c5bc,_0x348b47){this['leg']=0x1,this['appId']=_0x34b5bc,this['config']=_0x9a556a,this['metadata']=_0x23c5bc,this['context']=_0x348b47;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x3bf87b){return _0x3bf87b===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x27f46a='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x215d8b=this['getTraceId'](),_0x2adaec=this['getJobParentSpanId'](),_0x43fd5b=this['getSpanAttrs'](0x1),_0x5c3048=this['startSpan'](_0x215d8b,_0x2adaec,_0x27f46a,_0x43fd5b);return this['jobSpan']=_0x5c3048,this['setTelemetryContext'](_0x5c3048,0x1),this;}['startActivitySpan'](_0x24ca7e=this['leg']){const _0x473efe=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x24ca7e,_0x22090b=this['getTraceId'](),_0x2cc69a=this['getActivityParentSpanId'](_0x24ca7e),_0xe3b279=this['getSpanAttrs'](_0x24ca7e),_0x27a46b=this['startSpan'](_0x22090b,_0x2cc69a,_0x473efe,_0xe3b279);return this['setTelemetryContext'](_0x27a46b,_0x24ca7e),this['span']=_0x27a46b,this;}['startStreamSpan'](_0x1cd234,_0x2c86c9){let _0x2dd60a;if(_0x2c86c9===stream_1['StreamRole']['SYSTEM'])_0x2dd60a='SYSTEM';else{if(_0x2c86c9===stream_1['StreamRole']['WORKER'])_0x2dd60a='EXECUTE';else _0x1cd234['type']===stream_1['StreamDataType']['RESULT']||_0x1cd234['type']===stream_1['StreamDataType']['RESPONSE']?_0x2dd60a='FANIN':_0x2dd60a='FANOUT';}const _0x49f2e7=_0x1cd234['metadata']['topic']?'/'+_0x1cd234['metadata']['topic']:'',_0x546102=_0x2dd60a+'/'+this['appId']+'/'+_0x1cd234['metadata']['aid']+_0x49f2e7,_0x3a025f=this['getStreamSpanAttrs'](_0x1cd234),_0x3b2fec=this['startSpan'](_0x1cd234['metadata']['trc'],_0x1cd234['metadata']['spn'],_0x546102,_0x3a025f);return this['span']=_0x3b2fec,this;}['startSpan'](_0x4c199c,_0x40045d,_0x4d826a,_0x34b59f){this['traceId']=_0x4c199c,this['spanId']=_0x40045d;const _0x43aec3=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x251f73=this['getParentSpanContext'](),_0xb6dceb=_0x43aec3['startSpan'](_0x4d826a,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x34b59f,'root':!_0x251f73},_0x251f73);return _0xb6dceb;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x5003e4=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x7ae91d={...Object['keys'](_0x5003e4)['reduce']((_0x20bbeb,_0x138a46)=>{return['string','boolean','number']['includes'](typeof _0x5003e4[_0x138a46])&&(_0x20bbeb['app.activity.data.'+_0x138a46]=_0x5003e4[_0x138a46]),_0x20bbeb;},{})};this['span']?.['setAttributes'](_0x7ae91d);}}['setActivityAttributes'](_0x15412e){this['span']?.['setAttributes'](_0x15412e);}['setStreamAttributes'](_0x16ed3b){this['span']?.['setAttributes'](_0x16ed3b);}['setJobAttributes'](_0x452d7c){this['jobSpan']?.['setAttributes'](_0x452d7c);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0xb1dbdb){_0xb1dbdb&&_0xb1dbdb['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x365fb9={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x41845a=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x365fb9);return _0x41845a;}}['getSpanAttrs'](_0x3f3e17){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x3a4cbe,_0x2c2264)=>{return _0x2c2264!=='trc'&&(_0x3a4cbe['app.job.'+_0x2c2264]=this['context']['metadata'][_0x2c2264]),_0x3a4cbe;},{}),...Object['keys'](this['metadata'])['reduce']((_0x380b63,_0x1a68db)=>{return _0x380b63['app.activity.'+_0x1a68db]=this['metadata'][_0x1a68db],_0x380b63;},{}),'app.activity.leg':_0x3f3e17};}['getStreamSpanAttrs'](_0x5d75b3){return{...Object['keys'](_0x5d75b3['metadata'])['reduce']((_0x138866,_0x239039)=>{return _0x239039!=='trc'&&_0x239039!=='spn'&&(_0x138866['app.stream.'+_0x239039]=_0x5d75b3['metadata'][_0x239039]),_0x138866;},{})};}['setTelemetryContext'](_0x973630,_0x3bf144){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x973630['spanContext']()['traceId']),_0x3bf144===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x973630['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x973630['spanContext']()['spanId']);}['setActivityError'](_0x5501c6){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x5501c6});}['setStreamError'](_0xc5f506){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0xc5f506});}static['addTargetTelemetryPaths'](_0x43bb23,_0x2657aa,_0x419b68,_0x22e626){_0x22e626===0x1?(!(_0x2657aa['parent']in _0x43bb23)&&(_0x43bb23[_0x2657aa['parent']]=[]),_0x43bb23[_0x2657aa['parent']]['push'](_0x2657aa['parent']+'/output/metadata/l2s')):(!(_0x419b68['aid']in _0x43bb23)&&(_0x43bb23[_0x419b68['aid']]=[]),_0x43bb23[_0x419b68['aid']]['push'](_0x419b68['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x2df433,_0xd28aae,_0x4a1304){_0xd28aae['type']==='trigger'&&(_0x2df433['metadata/trc']=_0x4a1304['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x538538,_0x5abdfb,_0x44eac4,_0xc9439c,_0x3356b1){if(_0x5abdfb['type']==='trigger')_0x538538[_0x44eac4['aid']+'/output/metadata/l1s']=_0xc9439c['$self']['output']['metadata']['l1s'],_0x538538[_0x44eac4['aid']+'/output/metadata/l2s']=_0xc9439c['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x5abdfb['type'])==='hook'&&_0x3356b1===0x1)_0x538538[_0x44eac4['aid']+'/output/metadata/l1s']=_0xc9439c['$self']['output']['metadata']['l1s'],_0x538538[_0x44eac4['aid']+'/output/metadata/l2s']=_0xc9439c['$self']['output']['metadata']['l1s'];else{if(_0x5abdfb['type']==='signal'&&_0x3356b1===0x1)_0x538538[_0x44eac4['aid']+'/output/metadata/l1s']=_0xc9439c['$self']['output']['metadata']['l1s'],_0x538538[_0x44eac4['aid']+'/output/metadata/l2s']=_0xc9439c['$self']['output']['metadata']['l1s'];else{const _0x25de56='l'+_0x3356b1+'s';_0x538538[_0x44eac4['aid']+'/output/metadata/'+_0x25de56]=_0xc9439c['$self']['output']['metadata'][_0x25de56];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x455b(_0x22f7b2,_0x4eb8c4){const _0x519cb9=_0x519c();return _0x455b=function(_0x455b16,_0x138c57){_0x455b16=_0x455b16-0xfd;let _0x263c30=_0x519cb9[_0x455b16];return _0x263c30;},_0x455b(_0x22f7b2,_0x4eb8c4);}(function(_0x2cce18,_0x4084dd){const _0x978f3e=_0x455b,_0x280a5c=_0x2cce18();while(!![]){try{const _0x3341c2=-parseInt(_0x978f3e(0xff))/0x1+-parseInt(_0x978f3e(0x101))/0x2*(parseInt(_0x978f3e(0x106))/0x3)+parseInt(_0x978f3e(0xfe))/0x4*(-parseInt(_0x978f3e(0x100))/0x5)+parseInt(_0x978f3e(0x103))/0x6+-parseInt(_0x978f3e(0x105))/0x7*(parseInt(_0x978f3e(0xfd))/0x8)+parseInt(_0x978f3e(0x104))/0x9+parseInt(_0x978f3e(0x102))/0xa*(parseInt(_0x978f3e(0x107))/0xb);if(_0x3341c2===_0x4084dd)break;else _0x280a5c['push'](_0x280a5c['shift']());}catch(_0x3c5cc0){_0x280a5c['push'](_0x280a5c['shift']());}}}(_0x519c,0x52903));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['WorkerService']=void 0x0;const key_1=require('../../modules/key'),utils_1=require('../../modules/utils'),factory_1=require('../connector/factory'),router_1=require('../router'),stream_1=require('../../types/stream'),enums_1=require('../../modules/enums'),factory_2=require('../stream/factory'),factory_3=require('../sub/factory'),factory_4=require('../store/factory');class WorkerService{constructor(){this['reporting']=![];}static async['init'](_0x36e5db,_0x223c9b,_0x341342,_0x1f82e0,_0x35637a){const _0x5f0425=[];if(Array['isArray'](_0x1f82e0['workers']))for(const _0x23f532 of _0x1f82e0['workers']){await factory_1['ConnectorService']['initClients'](_0x23f532);const _0x449f2a=new WorkerService();_0x449f2a['verifyWorkerFields'](_0x23f532),_0x449f2a['namespace']=_0x36e5db,_0x449f2a['appId']=_0x223c9b,_0x449f2a['guid']=_0x341342,_0x449f2a['callback']=_0x23f532['callback'],_0x449f2a['topic']=_0x23f532['topic'],_0x449f2a['config']=_0x1f82e0,_0x449f2a['logger']=_0x35637a,await _0x449f2a['initStoreChannel'](_0x449f2a,_0x23f532['store']),await _0x449f2a['initSubChannel'](_0x449f2a,_0x23f532['sub'],_0x23f532['pub']),await _0x449f2a['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x449f2a['subscriptionHandler'](),_0x223c9b),await _0x449f2a['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x449f2a['subscriptionHandler'](),_0x223c9b,_0x449f2a['topic']),await _0x449f2a['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x449f2a['subscriptionHandler'](),_0x223c9b,_0x449f2a['guid']),await _0x449f2a['initStreamChannel'](_0x449f2a,_0x23f532['stream'],_0x23f532['store']),_0x449f2a['router']=await _0x449f2a['initRouter'](_0x23f532,_0x35637a);const _0x2fe917=_0x449f2a['store']['mintKey'](key_1['KeyType']['STREAMS'],{'appId':_0x449f2a['appId'],'topic':_0x23f532['topic']});await _0x449f2a['router']['consumeMessages'](_0x2fe917,'WORKER',_0x449f2a['guid'],_0x23f532['callback']),_0x449f2a['inited']=(0x0,utils_1['formatISODate'])(new Date()),_0x5f0425['push'](_0x449f2a);}return _0x5f0425;}['verifyWorkerFields'](_0x2c3046){if(!(0x0,utils_1['identifyProvider'])(_0x2c3046['store'])||!(0x0,utils_1['identifyProvider'])(_0x2c3046['stream'])||!(0x0,utils_1['identifyProvider'])(_0x2c3046['sub'])||!(_0x2c3046['topic']&&_0x2c3046['callback']))throw new Error('worker\x20must\x20include\x20`store`,\x20`stream`,\x20and\x20`sub`\x20fields\x20along\x20with\x20a\x20callback\x20function\x20and\x20topic.');}async['initStoreChannel'](_0x13506d,_0x54054a){_0x13506d['store']=await factory_4['StoreServiceFactory']['init'](_0x54054a,_0x13506d['namespace'],_0x13506d['appId'],_0x13506d['logger']);}async['initSubChannel'](_0x215277,_0x38d718,_0xbdfa51){_0x215277['subscribe']=await factory_3['SubServiceFactory']['init'](_0x38d718,_0xbdfa51,_0x215277['namespace'],_0x215277['appId'],_0x215277['guid'],_0x215277['logger']);}async['initStreamChannel'](_0x138377,_0xbe3eae,_0xff3667){_0x138377['stream']=await factory_2['StreamServiceFactory']['init'](_0xbe3eae,_0xff3667,_0x138377['namespace'],_0x138377['appId'],_0x138377['logger']);}async['initRouter'](_0xaa3aa0,_0x552855){const _0x28ca65=await this['store']['getThrottleRate'](_0xaa3aa0['topic']);return new router_1['Router']({'namespace':this['namespace'],'appId':this['appId'],'guid':this['guid'],'role':stream_1['StreamRole']['WORKER'],'topic':_0xaa3aa0['topic'],'reclaimDelay':_0xaa3aa0['reclaimDelay'],'reclaimCount':_0xaa3aa0['reclaimCount'],'throttle':_0x28ca65},this['stream'],_0x552855);}['subscriptionHandler'](){const _0x257cfe=this;return async(_0x49e304,_0x596387)=>{_0x257cfe['logger']['debug']('worker-event-received',{'topic':_0x49e304,'type':_0x596387['type']});if(_0x596387['type']==='throttle')_0x596387['topic']!==null&&_0x257cfe['throttle'](_0x596387['throttle']);else{if(_0x596387['type']==='ping')_0x257cfe['sayPong'](_0x257cfe['appId'],_0x257cfe['guid'],_0x596387['originator'],_0x596387['details']);else _0x596387['type']==='rollcall'&&(_0x596387['topic']!==null&&_0x257cfe['doRollCall'](_0x596387));}};}async['doRollCall'](_0x5f1125){let _0xf54325=0x0;const _0x55042f=!isNaN(_0x5f1125['max'])?_0x5f1125['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x452053=_0x5f1125['interval']/0x2,_0x111554=_0x452053+Math['ceil'](Math['random']()*_0x452053);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![],_0x5f1125['signature']);if(!_0x5f1125['interval'])return;const {promise:_0x4b4c85,timerId:_0x4e2e08}=(0x0,utils_1['XSleepFor'])(_0x111554*0x3e8);this['rollCallInterval']=_0x4e2e08,await _0x4b4c85;}while(this['rollCallInterval']&&_0xf54325++<_0x55042f-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['sayPong'](_0x595723,_0x307124,_0x4150f5,_0x4f6ca6=![],_0x47d2b0=![]){let _0x3e3b09;if(_0x4f6ca6){const _0x38f75e={'appId':this['appId'],'topic':this['topic']};_0x3e3b09={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'worker_topic':this['topic'],'stream':this['store']['mintKey'](key_1['KeyType']['STREAMS'],_0x38f75e),'counts':this['router']?.['counts'],'timestamp':(0x0,utils_1['formatISODate'])(new Date()),'inited':this['inited'],'throttle':this['router']?.['throttle'],'reclaimDelay':this['router']?.['reclaimDelay'],'reclaimCount':this['router']?.['reclaimCount'],'system':await(0x0,utils_1['getSystemHealth'])(),'signature':_0x47d2b0?this['callback']['toString']():undefined};}this['subscribe']['publish'](key_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x307124,'originator':_0x4150f5,'profile':_0x3e3b09},_0x595723);}async['throttle'](_0x43f801){this['router']?.['setThrottle'](_0x43f801);}}exports['WorkerService']=WorkerService;function _0x519c(){const _0x10c6ed=['319giAccn','2224PJoWXJ','81324XbsUys','287003euzyEy','75WdREcA','66182pkTHRh','491510dwMPrV','1259508pVdlEi','1453437PPyyEr','10990HrDOHm','39iatqlK'];_0x519c=function(){return _0x10c6ed;};return _0x519c();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hotmeshio/hotmesh",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.13",
|
|
4
4
|
"description": "Unbreakable Workflows",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"test:sub:redis": "NODE_ENV=test jest ./tests/functional/sub/providers/redis/redis.test.ts --detectOpenHandles --forceExit --verbose",
|
|
73
73
|
"test:trigger": "NODE_ENV=test jest ./tests/unit/services/activities/trigger.test.ts --detectOpenHandles --forceExit --verbose",
|
|
74
74
|
"test:meshdata": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshdata/index.test.ts --forceExit --verbose",
|
|
75
|
-
"test:meshos": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshos
|
|
75
|
+
"test:meshos": "NODE_ENV=test HMSH_IS_CLUSTER=true jest ./tests/meshos/*.test.ts --forceExit --verbose --detectOpenHandles",
|
|
76
76
|
"test:meshcall": "NODE_ENV=test jest ./tests/meshcall/index.test.ts --forceExit --verbose --detectOpenHandles",
|
|
77
77
|
"test:unit": "NODE_ENV=test jest ./tests/unit/*/*/index.test.ts --detectOpenHandles --forceExit --verbose"
|
|
78
78
|
},
|