@hotmeshio/hotmesh 0.3.14 → 0.3.16
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 +64 -52
- package/build/modules/key.js +1 -1
- package/build/modules/utils.js +1 -1
- package/build/package.json +22 -21
- 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/connector/factory.js +2 -2
- package/build/services/connector/providers/nats.js +3 -1
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +2 -0
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshcall/index.d.ts +5 -4
- package/build/services/meshcall/index.js +23 -9
- package/build/services/meshdata/index.js +3 -2
- package/build/services/meshflow/client.js +1 -1
- package/build/services/meshflow/connection.js +6 -4
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.js +1 -1
- 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/factory.d.ts +1 -1
- package/build/services/search/providers/postgres/postgres.d.ts +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.d.ts +68 -63
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/kvtables.d.ts +15 -0
- package/build/services/store/providers/postgres/kvtables.js +1 -0
- package/build/services/store/providers/postgres/kvtransaction.d.ts +36 -0
- package/build/services/store/providers/postgres/kvtransaction.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/hash.d.ts +55 -0
- package/build/services/store/providers/postgres/kvtypes/hash.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/list.d.ts +33 -0
- package/build/services/store/providers/postgres/kvtypes/list.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/string.d.ts +20 -0
- package/build/services/store/providers/postgres/kvtypes/string.js +1 -0
- package/build/services/store/providers/postgres/kvtypes/zset.d.ts +41 -0
- package/build/services/store/providers/postgres/kvtypes/zset.js +1 -0
- package/build/services/store/providers/postgres/postgres.d.ts +3 -12
- 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/build/types/meshcall.d.ts +6 -6
- package/package.json +22 -21
- package/types/index.ts +3 -3
- package/types/manifest.ts +1 -1
- package/types/meshcall.ts +6 -6
- package/types/postgres.ts +8 -1
- package/types/provider.ts +7 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x588729,_0x57adbb){const _0x159540=_0x6e56,_0x1e81e8=_0x588729();while(!![]){try{const _0x20d03a=parseInt(_0x159540(0xea))/0x1+-parseInt(_0x159540(0xe5))/0x2*(-parseInt(_0x159540(0xec))/0x3)+parseInt(_0x159540(0xe8))/0x4*(-parseInt(_0x159540(0xee))/0x5)+parseInt(_0x159540(0xeb))/0x6+parseInt(_0x159540(0xed))/0x7*(-parseInt(_0x159540(0xe9))/0x8)+parseInt(_0x159540(0xe7))/0x9*(parseInt(_0x159540(0xe6))/0xa)+-parseInt(_0x159540(0xe4))/0xb;if(_0x20d03a===_0x57adbb)break;else _0x1e81e8['push'](_0x1e81e8['shift']());}catch(_0x3ef556){_0x1e81e8['push'](_0x1e81e8['shift']());}}}(_0x54c5,0x1fb85));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsStreamService']=void 0x0;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(_0x1777fc,_0x50e3dc,_0x12ec83={}){super(_0x1777fc,_0x50e3dc,_0x12ec83),this['jetstream']=_0x1777fc['jetstream']();}async['init'](_0x48f657,_0x31f27f,_0x5037c5){this['namespace']=_0x48f657,this['logger']=_0x5037c5,this['appId']=_0x31f27f,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x4e7154,_0x2291af){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x4e7154,{..._0x2291af,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x125283){try{const _0x15d42a={'name':_0x125283,'subjects':[_0x125283+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x15d42a),!![];}catch(_0x1066e1){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x125283,{'error':_0x1066e1});throw _0x1066e1;}}async['deleteStream'](_0x2988d6){try{return await this['jsm']['streams']['delete'](_0x2988d6),!![];}catch(_0x529c69){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x2988d6,{'error':_0x529c69});throw _0x529c69;}}async['createConsumerGroup'](_0x4d1134,_0x1c57fb){try{const _0x4c03c1={'durable_name':_0x1c57fb,'deliver_group':_0x1c57fb,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x4d1134,_0x4c03c1),!![];}catch(_0x4bb103){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0x1c57fb+'\x20for\x20stream\x20'+_0x4d1134,{'error':_0x4bb103});throw _0x4bb103;}}async['deleteConsumerGroup'](_0x8cd358,_0x55691b){try{return await this['jsm']['consumers']['delete'](_0x8cd358,_0x55691b),!![];}catch(_0x9bf191){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x55691b+'\x20for\x20stream\x20'+_0x8cd358,{'error':_0x9bf191});throw _0x9bf191;}}async['publishMessages'](_0x2fdde0,_0xa5ef41,_0x40dc63){try{const _0x3827e6=_0xa5ef41['map'](async _0x3a780b=>{const _0x2343bd=_0x2fdde0+'.message',_0x2ce396=await this['jetstream']['publish'](_0x2343bd,Buffer['from'](_0x3a780b));return _0x2ce396;}),_0xd19ad0=await Promise['all'](_0x3827e6);return _0xd19ad0['map'](_0x5d3930=>_0x5d3930['seq']['toString']());}catch(_0x45ddfc){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x2fdde0,{'error':_0x45ddfc});throw _0x45ddfc;}}async['consumeMessages'](_0x1c2cc3,_0x2ab315,_0x38827c,_0x46159e){try{const _0x2cc645=await this['jetstream']['consumers']['get'](_0x1c2cc3,_0x2ab315),_0x547175=[],_0x1af883={'max_messages':_0x46159e?.['batchSize']||0x1,'expires':_0x46159e?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x4a9e3c=await _0x2cc645['fetch'](_0x1af883);for await(const _0x53a567 of _0x4a9e3c){_0x547175['push']({'id':_0x53a567['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x53a567['string']())});}return _0x547175;}catch(_0x505df0){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x1c2cc3,{'error':_0x505df0});throw _0x505df0;}}async['ackAndDelete'](_0x5457f8,_0x342ec1,_0x4424f9){try{return await this['acknowledgeMessages'](_0x5457f8,_0x342ec1,_0x4424f9),_0x4424f9['length'];}catch(_0x29df7b){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x5457f8,{'error':_0x29df7b});throw _0x29df7b;}}async['acknowledgeMessages'](_0x56e43f,_0x102ead,_0x1af545,_0x4aac79){return _0x1af545['length'];}async['deleteMessages'](_0x38cdee,_0x430536,_0x5153b2,_0x592e7e){try{return await Promise['all'](_0x5153b2['map'](_0x12393a=>this['jsm']['streams']['deleteMessage'](_0x38cdee,parseInt(_0x12393a)))),_0x5153b2['length'];}catch(_0x3a7ad9){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x38cdee,{'error':_0x3a7ad9});throw _0x3a7ad9;}}async['retryMessages'](_0x50e3c6,_0x25e37e,_0x343b6f){return[];}async['getStreamStats'](_0x522082){try{const _0x5e1870=await this['jsm']['streams']['info'](_0x522082);return{'messageCount':_0x5e1870['state']['messages']};}catch(_0x324a73){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x522082,{'error':_0x324a73});throw _0x324a73;}}async['getStreamDepth'](_0x3f395e){try{const _0xf30429=await this['jsm']['streams']['info'](_0x3f395e);return _0xf30429['state']['messages'];}catch(_0x24fe47){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x3f395e,{'error':_0x24fe47});throw _0x24fe47;}}async['getStreamDepths'](_0x236939){try{const _0xce28e1=await Promise['all'](_0x236939['map'](async({stream:_0x58fb42})=>({'stream':_0x58fb42,'depth':await this['getStreamDepth'](_0x58fb42)})));return _0xce28e1;}catch(_0x497895){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x497895});throw _0x497895;}}async['trimStream'](_0x2615b9,_0x445e3f){try{const _0x442490=await this['jsm']['streams']['info'](_0x2615b9),_0x267e4e={..._0x442490['config']};return _0x445e3f['maxLen']!==undefined&&(_0x267e4e['max_msgs']=_0x445e3f['maxLen']),_0x445e3f['maxAge']!==undefined&&(_0x267e4e['max_age']=_0x445e3f['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x2615b9,_0x267e4e),0x0;}catch(_0x4b3605){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x2615b9,{'error':_0x4b3605});throw _0x4b3605;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0x6e56(_0x34f594,_0x14fe41){const _0x54c51b=_0x54c5();return _0x6e56=function(_0x6e566b,_0x3f682d){_0x6e566b=_0x6e566b-0xe4;let _0x29b790=_0x54c51b[_0x6e566b];return _0x29b790;},_0x6e56(_0x34f594,_0x14fe41);}exports['NatsStreamService']=NatsStreamService;function _0x54c5(){const _0x32246a=['2495658GqjmDc','80590dXWpSJ','540slvjid','7281OAjTYg','20432btXfSt','280AotBIy','147500cEBunh','826200oWuAqT','15sMyKkO','13258FBtIZW','105hTCavA'];_0x54c5=function(){return _0x32246a;};return _0x54c5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function _0x1b12(){const _0x5a31fa=['495704LVjKot','6TPkLCC','6607573ZOInGI','9560124nrtcQC','13986704MQouBl','2653180MQGztt','2508888XXUBgS','155498HLaqls'];_0x1b12=function(){return _0x5a31fa;};return _0x1b12();}(function(_0x376504,_0x475b09){const _0x1c6629=_0x33bf,_0x33b67c=_0x376504();while(!![]){try{const _0x1459fe=parseInt(_0x1c6629(0x1b9))/0x1+-parseInt(_0x1c6629(0x1ba))/0x2+-parseInt(_0x1c6629(0x1bb))/0x3*(-parseInt(_0x1c6629(0x1c0))/0x4)+parseInt(_0x1c6629(0x1bf))/0x5+-parseInt(_0x1c6629(0x1bd))/0x6+-parseInt(_0x1c6629(0x1bc))/0x7+parseInt(_0x1c6629(0x1be))/0x8;if(_0x1459fe===_0x475b09)break;else _0x33b67c['push'](_0x33b67c['shift']());}catch(_0x4dfea5){_0x33b67c['push'](_0x33b67c['shift']());}}}(_0x1b12,0xdca5b));function _0x33bf(_0x227eb8,_0x512ddb){const _0x1b1293=_0x1b12();return _0x33bf=function(_0x33bf20,_0x36941b){_0x33bf20=_0x33bf20-0x1b9;let _0x1e89ad=_0x1b1293[_0x33bf20];return _0x1e89ad;},_0x33bf(_0x227eb8,_0x512ddb);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x5c0070,_0x5c0523,_0x5d31c0={}){super(_0x5c0070,_0x5c0523,_0x5d31c0);}async['init'](_0x3c063d,_0x5cfe8c,_0x2060e2){this['namespace']=_0x3c063d,this['appId']=_0x5cfe8c,this['logger']=_0x2060e2,await this['deploy']();}async['deploy'](){const _0x37c84f=this['streamClient'];try{const _0x53d520=this['getAdvisoryLockId'](),_0x1d3ef8=await _0x37c84f['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x53d520]);if(_0x1d3ef8['rows'][0x0]['locked']){await _0x37c84f['query']('BEGIN');const _0x468e10=await this['checkIfTablesExist'](_0x37c84f);!_0x468e10&&await this['createTables'](_0x37c84f),await _0x37c84f['query']('COMMIT'),await _0x37c84f['query']('SELECT\x20pg_advisory_unlock($1)',[_0x53d520]);}else{let _0x28c521=0x0;const _0x3eed7c=0x14;while(_0x28c521<_0x3eed7c){await this['delay'](0x64);const _0x39a947=await _0x37c84f['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x53d520]);if(_0x39a947['rows'][0x0]['unlocked']){const _0x119cfa=await this['checkIfTablesExist'](_0x37c84f);if(_0x119cfa)break;}_0x28c521++;}if(_0x28c521===_0x3eed7c)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x569ac9){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x569ac9});throw _0x569ac9;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x32b1a7){let _0xbc5d=0x0;for(let _0x290b25=0x0;_0x290b25<_0x32b1a7['length'];_0x290b25++){_0xbc5d=(_0xbc5d<<0x5)-_0xbc5d+_0x32b1a7['charCodeAt'](_0x290b25),_0xbc5d|=0x0;}return Math['abs'](_0xbc5d);}async['checkIfTablesExist'](_0x14d96b){const _0x5e8742=await _0x14d96b['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x5e8742['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x11b0cf){const _0x244bd7=this['getTableName']();await _0x11b0cf['query']('BEGIN'),await _0x11b0cf['query']('CREATE\x20TABLE\x20'+_0x244bd7+'\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 _0x434d86=0x0;_0x434d86<0x8;_0x434d86++){await _0x11b0cf['query']('CREATE\x20TABLE\x20'+_0x244bd7+'_part_'+_0x434d86+'\x20PARTITION\x20OF\x20'+_0x244bd7+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x434d86+')');}await _0x11b0cf['query']('CREATE\x20INDEX\x20idx_'+_0x244bd7+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x244bd7+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x11b0cf['query']('COMMIT');}['delay'](_0x30143c){return new Promise(_0x4fe6d8=>setTimeout(_0x4fe6d8,_0x30143c));}['mintKey'](_0x5a3294,_0x2fc7ce){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5a3294,{..._0x2fc7ce,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x577d95){return!![];}async['deleteStream'](_0x424af4){const _0x41c475=this['streamClient'],_0x3da1d7=this['getTableName']();try{return _0x424af4==='*'?await _0x41c475['query']('DELETE\x20FROM\x20'+_0x3da1d7):await _0x41c475['query']('DELETE\x20FROM\x20'+_0x3da1d7+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x424af4]),!![];}catch(_0x3b402a){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x424af4,{'error':_0x3b402a});throw _0x3b402a;}}async['createConsumerGroup'](_0x35cca5,_0x56b881){return!![];}async['deleteConsumerGroup'](_0x1a5100,_0xd35269){const _0x41277e=this['streamClient'],_0x4d0ae3=this['getTableName']();try{return await _0x41277e['query']('DELETE\x20FROM\x20'+_0x4d0ae3+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x1a5100,_0xd35269]),!![];}catch(_0x438031){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0xd35269+'\x20for\x20stream\x20'+_0x1a5100,{'error':_0x438031});throw _0x438031;}}async['publishMessages'](_0xc66947,_0x53a66c,_0x19840f){const {sql:_0x2532a9,params:_0x41edd5}=this['_publishMessages'](_0xc66947,_0x53a66c);if(_0x19840f?.['transaction']&&typeof _0x19840f['transaction']['addCommand']==='function')return _0x19840f['transaction']['addCommand'](_0x2532a9,_0x41edd5,'array',_0x476ecc=>_0x476ecc['map'](_0x1426e0=>_0x1426e0['id']['toString']())),_0x19840f['transaction'];else try{const _0x1c78a4=[],_0x35eeda=await this['streamClient']['query'](_0x2532a9,_0x41edd5);for(const _0x3fb1f3 of _0x35eeda['rows']){_0x1c78a4['push'](_0x3fb1f3['id']['toString']());}return _0x1c78a4;}catch(_0x2524f6){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0xc66947,{'error':_0x2524f6});throw _0x2524f6;}}['_publishMessages'](_0x48ce3d,_0x406930){const _0x5196c8=this['getTableName'](),_0x315fd9=_0x48ce3d['endsWith'](':')?'ENGINE':'WORKER',_0x4fff86=_0x406930['map']((_0x4bf469,_0x481739)=>'($1,\x20$2,\x20$'+(_0x481739+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x5196c8+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x4fff86+'\x20RETURNING\x20id','params':[_0x48ce3d,_0x315fd9,..._0x406930]};}async['consumeMessages'](_0x3e249b,_0xf0b578,_0x3fe5db,_0x360885){const _0x19e95c=this['streamClient'],_0xfb7285=this['getTableName']();try{const _0x5aa9cb=_0x360885?.['batchSize']||0x1,_0x4b5608=_0x360885?.['reservationTimeout']||0x1e,_0x475fe8=await _0x19e95c['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'+_0xfb7285+'\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'+_0x4b5608+'\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'+_0xfb7285+'\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',[_0x3e249b,_0xf0b578,_0x5aa9cb,_0x3fe5db]),_0x1f95c7=_0x475fe8['rows']['map'](_0x303acd=>({'id':_0x303acd['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x303acd['message'])}));return _0x1f95c7;}catch(_0x147434){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x3e249b,{'error':_0x147434});throw _0x147434;}}async['ackAndDelete'](_0x12f2e0,_0x501d59,_0x12990f){return await this['deleteMessages'](_0x12f2e0,_0x501d59,_0x12990f);}async['acknowledgeMessages'](_0x2c69b9,_0x379dd5,_0x45d635,_0x3ae6f9){return _0x45d635['length'];}async['deleteMessages'](_0x4e1dd0,_0x49fd55,_0x2100bd,_0x1e81b1){const _0xa2ebd4=this['streamClient'],_0x284c81=this['getTableName']();try{const _0x1c5877=_0x2100bd['map'](_0x52c1f0=>parseInt(_0x52c1f0));return await _0xa2ebd4['query']('DELETE\x20FROM\x20'+_0x284c81+'\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',[_0x4e1dd0,_0x1c5877,_0x49fd55]),_0x2100bd['length'];}catch(_0x2fbb55){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x4e1dd0,{'error':_0x2fbb55});throw _0x2fbb55;}}async['retryMessages'](_0x128fd1,_0x2978c0,_0x3b9954){return[];}async['getStreamStats'](_0xa62f6){const _0x2f83e5=this['streamClient'],_0x16a861=this['getTableName']();try{const _0x46dbca=await _0x2f83e5['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x16a861+'\x20WHERE\x20stream_name\x20=\x20$1',[_0xa62f6]);return{'messageCount':parseInt(_0x46dbca['rows'][0x0]['count'],0xa)};}catch(_0x583b0f){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0xa62f6,{'error':_0x583b0f});throw _0x583b0f;}}async['getStreamDepth'](_0xcb1262){const _0x3e599c=await this['getStreamStats'](_0xcb1262);return _0x3e599c['messageCount'];}async['getStreamDepths'](_0x35ea9c){const _0x47e094=this['streamClient'],_0x5345b7=this['getTableName']();console['log']('streamNames',_0x35ea9c);try{const _0x328e7d=_0x35ea9c['map'](_0xc709f1=>_0xc709f1['stream']),_0x590395=await _0x47e094['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x5345b7+'\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',[_0x328e7d]);console['log']('res',_0x590395);const _0x27af84=_0x590395['rows']['map'](_0x232ce8=>({'stream':_0x232ce8['stream_name'],'depth':parseInt(_0x232ce8['count'],0xa)}));return _0x27af84;}catch(_0x4d97e3){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x4d97e3});throw _0x4d97e3;}}async['trimStream'](_0x2758ec,_0x34bb45){const _0x41a39e=this['streamClient'],_0x4b73cd=this['getTableName']();try{let _0x262b1f=0x0;if(_0x34bb45['maxLen']!==undefined){const _0x2096db=await _0x41a39e['query']('DELETE\x20FROM\x20'+_0x4b73cd+'\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'+_0x4b73cd+'\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)',[_0x2758ec,_0x34bb45['maxLen']]);_0x262b1f+=_0x2096db['rowCount'];}if(_0x34bb45['maxAge']!==undefined){const _0x2e8472=await _0x41a39e['query']('DELETE\x20FROM\x20'+_0x4b73cd+'\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'+_0x34bb45['maxAge']+'\x20milliseconds\x27',[_0x2758ec]);_0x262b1f+=_0x2e8472['rowCount'];}return _0x262b1f;}catch(_0x210ec2){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x2758ec,{'error':_0x210ec2});throw _0x210ec2;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
1
|
+
'use strict';(function(_0x547317,_0x5ce55c){const _0x5d90fa=_0x37ba,_0xd86ad=_0x547317();while(!![]){try{const _0x4874b1=parseInt(_0x5d90fa(0xef))/0x1+-parseInt(_0x5d90fa(0xf4))/0x2+parseInt(_0x5d90fa(0xf0))/0x3+-parseInt(_0x5d90fa(0xf2))/0x4*(-parseInt(_0x5d90fa(0xf3))/0x5)+-parseInt(_0x5d90fa(0xf1))/0x6+-parseInt(_0x5d90fa(0xee))/0x7+-parseInt(_0x5d90fa(0xf6))/0x8*(-parseInt(_0x5d90fa(0xf5))/0x9);if(_0x4874b1===_0x5ce55c)break;else _0xd86ad['push'](_0xd86ad['shift']());}catch(_0x4d5ca0){_0xd86ad['push'](_0xd86ad['shift']());}}}(_0x5f48,0x7831d));function _0x5f48(){const _0x4d864a=['4wCCvZy','1175965RZuRFF','810206pSXiLT','4744035VmuTTc','16tVpnWO','2940371XlglcL','19693kiFJIw','2755146PvZOyG','5460150sfwaoi'];_0x5f48=function(){return _0x4d864a;};return _0x5f48();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x1305b7,_0x239546,_0x331d02={}){super(_0x1305b7,_0x239546,_0x331d02);}async['init'](_0x5abd1c,_0x2942b8,_0x448f1c){this['namespace']=_0x5abd1c,this['appId']=_0x2942b8,this['logger']=_0x448f1c,await this['deploy']();}async['deploy'](){const _0x402532=this['streamClient'];try{const _0xf13ebd=this['getAdvisoryLockId'](),_0x2228a5=await _0x402532['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0xf13ebd]);if(_0x2228a5['rows'][0x0]['locked']){await _0x402532['query']('BEGIN');const _0x5cc4a9=await this['checkIfTablesExist'](_0x402532);!_0x5cc4a9&&await this['createTables'](_0x402532),await _0x402532['query']('COMMIT'),await _0x402532['query']('SELECT\x20pg_advisory_unlock($1)',[_0xf13ebd]);}else{let _0x569e5d=0x0;const _0x4c6271=0x14;while(_0x569e5d<_0x4c6271){await this['delay'](0x64);const _0x313e13=await _0x402532['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0xf13ebd]);if(_0x313e13['rows'][0x0]['unlocked']){const _0x39debc=await this['checkIfTablesExist'](_0x402532);if(_0x39debc)break;}_0x569e5d++;}if(_0x569e5d===_0x4c6271)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x3accd0){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x3accd0});throw _0x3accd0;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x2688f4){let _0x51959d=0x0;for(let _0x446246=0x0;_0x446246<_0x2688f4['length'];_0x446246++){_0x51959d=(_0x51959d<<0x5)-_0x51959d+_0x2688f4['charCodeAt'](_0x446246),_0x51959d|=0x0;}return Math['abs'](_0x51959d);}async['checkIfTablesExist'](_0x3cca07){const _0x40f10c=await _0x3cca07['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x40f10c['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x4f42fa){const _0x2680da=this['getTableName']();await _0x4f42fa['query']('BEGIN'),await _0x4f42fa['query']('CREATE\x20TABLE\x20'+_0x2680da+'\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 _0xa86e99=0x0;_0xa86e99<0x8;_0xa86e99++){await _0x4f42fa['query']('CREATE\x20TABLE\x20'+_0x2680da+'_part_'+_0xa86e99+'\x20PARTITION\x20OF\x20'+_0x2680da+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0xa86e99+')');}await _0x4f42fa['query']('CREATE\x20INDEX\x20idx_'+_0x2680da+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x2680da+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x4f42fa['query']('COMMIT');}['delay'](_0x25f8b4){return new Promise(_0x1392bb=>setTimeout(_0x1392bb,_0x25f8b4));}['mintKey'](_0x5c7d58,_0x4e8946){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5c7d58,{..._0x4e8946,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0xd631c9){return!![];}async['deleteStream'](_0x4639eb){const _0x2a841c=this['streamClient'],_0x29c527=this['getTableName']();try{return _0x4639eb==='*'?await _0x2a841c['query']('DELETE\x20FROM\x20'+_0x29c527):await _0x2a841c['query']('DELETE\x20FROM\x20'+_0x29c527+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x4639eb]),!![];}catch(_0x27778d){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x4639eb,{'error':_0x27778d});throw _0x27778d;}}async['createConsumerGroup'](_0x91603b,_0xb5480c){return!![];}async['deleteConsumerGroup'](_0x2070ed,_0x13d303){const _0x4a53d1=this['streamClient'],_0x59ae49=this['getTableName']();try{return await _0x4a53d1['query']('DELETE\x20FROM\x20'+_0x59ae49+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x2070ed,_0x13d303]),!![];}catch(_0x15c445){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x13d303+'\x20for\x20stream\x20'+_0x2070ed,{'error':_0x15c445});throw _0x15c445;}}async['publishMessages'](_0x26708c,_0x1d5759,_0x4e44dc){const {sql:_0x3b9b06,params:_0x4932cd}=this['_publishMessages'](_0x26708c,_0x1d5759);if(_0x4e44dc?.['transaction']&&typeof _0x4e44dc['transaction']['addCommand']==='function')return _0x4e44dc['transaction']['addCommand'](_0x3b9b06,_0x4932cd,'array',_0x241c94=>_0x241c94['map'](_0x341d3c=>_0x341d3c['id']['toString']())),_0x4e44dc['transaction'];else try{const _0x588110=[],_0x22656e=await this['streamClient']['query'](_0x3b9b06,_0x4932cd);for(const _0x13cad8 of _0x22656e['rows']){_0x588110['push'](_0x13cad8['id']['toString']());}return _0x588110;}catch(_0x27ca5d){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x26708c,{'error':_0x27ca5d});throw _0x27ca5d;}}['_publishMessages'](_0x3b1c8e,_0x22d32c){const _0x4058b9=this['getTableName'](),_0x1b87b1=_0x3b1c8e['endsWith'](':')?'ENGINE':'WORKER',_0x502a3a=_0x22d32c['map']((_0x51f832,_0x584872)=>'($1,\x20$2,\x20$'+(_0x584872+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x4058b9+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x502a3a+'\x20RETURNING\x20id','params':[_0x3b1c8e,_0x1b87b1,..._0x22d32c]};}async['consumeMessages'](_0x589c64,_0x364fed,_0x422702,_0xe8513){const _0x7aa466=this['streamClient'],_0x13110d=this['getTableName']();try{const _0x14bd00=_0xe8513?.['batchSize']||0x1,_0xc19e50=_0xe8513?.['reservationTimeout']||0x1e,_0x4ea6d7=await _0x7aa466['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'+_0x13110d+'\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'+_0xc19e50+'\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'+_0x13110d+'\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',[_0x589c64,_0x364fed,_0x14bd00,_0x422702]),_0x458bdd=_0x4ea6d7['rows']['map'](_0x41944f=>({'id':_0x41944f['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x41944f['message'])}));return _0x458bdd;}catch(_0x4739f6){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x589c64,{'error':_0x4739f6});throw _0x4739f6;}}async['ackAndDelete'](_0x444cdf,_0x587148,_0x409d4f){return await this['deleteMessages'](_0x444cdf,_0x587148,_0x409d4f);}async['acknowledgeMessages'](_0x420ad4,_0x1180e2,_0x580009,_0x25be43){return _0x580009['length'];}async['deleteMessages'](_0x62e0c0,_0x3f1a34,_0x5d352a,_0x11b7c7){const _0x1a2bd5=this['streamClient'],_0x445e75=this['getTableName']();try{const _0x502c7c=_0x5d352a['map'](_0x159093=>parseInt(_0x159093));return await _0x1a2bd5['query']('DELETE\x20FROM\x20'+_0x445e75+'\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',[_0x62e0c0,_0x502c7c,_0x3f1a34]),_0x5d352a['length'];}catch(_0x5512a3){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x62e0c0,{'error':_0x5512a3});throw _0x5512a3;}}async['retryMessages'](_0x206997,_0x140d4f,_0x36806e){return[];}async['getStreamStats'](_0x3fea38){const _0x3f2deb=this['streamClient'],_0xaf9c6b=this['getTableName']();try{const _0x49d1b6=await _0x3f2deb['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0xaf9c6b+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x3fea38]);return{'messageCount':parseInt(_0x49d1b6['rows'][0x0]['count'],0xa)};}catch(_0x2857b8){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x3fea38,{'error':_0x2857b8});throw _0x2857b8;}}async['getStreamDepth'](_0x45e7f7){const _0x30eec6=await this['getStreamStats'](_0x45e7f7);return _0x30eec6['messageCount'];}async['getStreamDepths'](_0x9549a6){const _0x2c671c=this['streamClient'],_0x3364ea=this['getTableName']();try{const _0x2588c9=_0x9549a6['map'](_0x3275de=>_0x3275de['stream']),_0x3a43a=await _0x2c671c['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x3364ea+'\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',[_0x2588c9]),_0x2197ce=_0x3a43a['rows']['map'](_0x553986=>({'stream':_0x553986['stream_name'],'depth':parseInt(_0x553986['count'],0xa)}));return _0x2197ce;}catch(_0xdeb232){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0xdeb232});throw _0xdeb232;}}async['trimStream'](_0x48cb4b,_0x1faa3b){const _0x579057=this['streamClient'],_0x22e0e2=this['getTableName']();try{let _0x206235=0x0;if(_0x1faa3b['maxLen']!==undefined){const _0x14cea7=await _0x579057['query']('DELETE\x20FROM\x20'+_0x22e0e2+'\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'+_0x22e0e2+'\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)',[_0x48cb4b,_0x1faa3b['maxLen']]);_0x206235+=_0x14cea7['rowCount'];}if(_0x1faa3b['maxAge']!==undefined){const _0x3cd442=await _0x579057['query']('DELETE\x20FROM\x20'+_0x22e0e2+'\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'+_0x1faa3b['maxAge']+'\x20milliseconds\x27',[_0x48cb4b]);_0x206235+=_0x3cd442['rowCount'];}return _0x206235;}catch(_0x155baa){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x48cb4b,{'error':_0x155baa});throw _0x155baa;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0x37ba(_0x5eb443,_0x51ecad){const _0x5f48ce=_0x5f48();return _0x37ba=function(_0x37bab0,_0x136918){_0x37bab0=_0x37bab0-0xee;let _0x3837dc=_0x5f48ce[_0x37bab0];return _0x3837dc;},_0x37ba(_0x5eb443,_0x51ecad);}exports['PostgresStreamService']=PostgresStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x154df0,_0x4e785c){const _0x229aac=_0x58e2,_0x35379b=_0x154df0();while(!![]){try{const _0x4e7bef=-parseInt(_0x229aac(0x85))/0x1*(-parseInt(_0x229aac(0x82))/0x2)+parseInt(_0x229aac(0x7f))/0x3*(-parseInt(_0x229aac(0x83))/0x4)+-parseInt(_0x229aac(0x84))/0x5+-parseInt(_0x229aac(0x7c))/0x6+-parseInt(_0x229aac(0x80))/0x7+-parseInt(_0x229aac(0x81))/0x8*(parseInt(_0x229aac(0x7d))/0x9)+parseInt(_0x229aac(0x7e))/0xa;if(_0x4e7bef===_0x4e785c)break;else _0x35379b['push'](_0x35379b['shift']());}catch(_0x3746c7){_0x35379b['push'](_0x35379b['shift']());}}}(_0x2ab6,0xc99b0));function _0x2ab6(){const _0x3fda4a=['4810599nKVDCG','56994750YoDCyU','270zmPBIu','6102145JSncvg','24WDYhhQ','1710770dNBigM','23116aHYjBF','7607170FMmRCh','1entRHg','7273632jeRJlM'];_0x2ab6=function(){return _0x3fda4a;};return _0x2ab6();}function _0x58e2(_0x345c5f,_0x2667be){const _0x2ab688=_0x2ab6();return _0x58e2=function(_0x58e22e,_0x521996){_0x58e22e=_0x58e22e-0x7c;let _0x37e923=_0x2ab688[_0x58e22e];return _0x37e923;},_0x58e2(_0x345c5f,_0x2667be);}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(_0x30469c,_0x20c60a,_0x190c85={}){super(_0x30469c,_0x20c60a,_0x190c85);}async['init'](_0x44dd83,_0x28acbe,_0x16895a){this['namespace']=_0x44dd83,this['logger']=_0x16895a,this['appId']=_0x28acbe;}['mintKey'](_0x463e3,_0x3651b6){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x463e3,{..._0x3651b6,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x3ed48d){try{const _0x293edb=await this['streamClient']['xadd'](_0x3ed48d,'*','field','value');return await this['streamClient']['xdel'](_0x3ed48d,_0x293edb),!![];}catch(_0x163923){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x3ed48d,{'error':_0x163923});throw _0x163923;}}async['deleteStream'](_0x526161){try{const _0x2d07ef=await this['streamClient']['del'](_0x526161);return _0x2d07ef>0x0;}catch(_0x2d6ff6){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x526161,{'error':_0x2d6ff6});throw _0x2d6ff6;}}async['createConsumerGroup'](_0x6d9422,_0x2c51ba){try{return await this['storeClient']['xgroup']('CREATE',_0x6d9422,_0x2c51ba,'$','MKSTREAM')==='OK';}catch(_0x4ae86c){this['logger']['debug']('stream-mkstream-caught',{'key':_0x6d9422,'group':_0x2c51ba});throw _0x4ae86c;}}async['deleteConsumerGroup'](_0x3e8878,_0x1668af){try{const _0x54db80=await this['streamClient']['xgroup']('DESTROY',_0x3e8878,_0x1668af);return _0x54db80===0x1;}catch(_0x2663b6){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x1668af+'\x20for\x20stream\x20'+_0x3e8878,{'error':_0x2663b6});throw _0x2663b6;}}async['publishMessages'](_0x5cdf4f,_0x578f7f,_0x1c78b3){try{const _0x4c9a1f=_0x1c78b3?.['transaction']||_0x578f7f['length']>0x1&&this['storeClient']['multi']();let _0xb67196;for(const _0x256441 of _0x578f7f){_0xb67196=await(_0x4c9a1f||this['storeClient'])['xadd'](_0x5cdf4f,'*','message',_0x256441);}return _0x4c9a1f&&!_0x1c78b3?.['transaction']?(await _0x4c9a1f['exec']())['map'](_0x8ac512=>_0x8ac512[0x1]):[_0xb67196];}catch(_0x5473ea){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x5cdf4f,{..._0x5473ea});throw _0x5473ea;}}async['consumeMessages'](_0x45225c,_0x8f76ac,_0x3e5ad9,_0x518871){try{const _0x25184d=await this['streamClient']['xreadgroup']('GROUP',_0x8f76ac,_0x3e5ad9,'BLOCK',_0x518871?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x45225c,'>'),_0x391348=[];if((0x0,utils_1['isStreamMessage'])(_0x25184d)){const [[,_0x3e05a4]]=_0x25184d;for(const [_0x417778,_0x697fee]of _0x3e05a4){_0x391348['push']({'id':_0x417778,'data':(0x0,utils_1['parseStreamMessage'])(_0x697fee[0x1])});}}else return[];return _0x391348;}catch(_0x9d4e9a){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x45225c,{'error':_0x9d4e9a});throw _0x9d4e9a;}}async['ackAndDelete'](_0x383bcb,_0x38d825,_0x160ce4){const _0x141c12=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x383bcb,_0x38d825,_0x160ce4,{'multi':_0x141c12}),this['deleteMessages'](_0x383bcb,_0x38d825,_0x160ce4,{'multi':_0x141c12}),await _0x141c12['exec'](),_0x160ce4['length'];}async['acknowledgeMessages'](_0x563a56,_0x3265f8,_0x3df8b7,_0x7df30e){try{return _0x7df30e?.['multi']?(_0x7df30e['multi']['xack'](_0x563a56,_0x3265f8,..._0x3df8b7),_0x7df30e['multi']):await this['streamClient']['xack'](_0x563a56,_0x3265f8,..._0x3df8b7);}catch(_0x261eae){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x3df8b7+']\x20in\x20group:\x20'+_0x3265f8+'\x20for\x20key:\x20'+_0x563a56,{..._0x261eae});throw _0x261eae;}}async['deleteMessages'](_0x4827b8,_0x2db3a7,_0x44bd7f,_0x36b10d){try{return _0x36b10d?.['multi']?(_0x36b10d['multi']['xdel'](_0x4827b8,..._0x44bd7f),_0x36b10d['multi']):await this['streamClient']['xdel'](_0x4827b8,..._0x44bd7f);}catch(_0x267ec6){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x44bd7f+'\x20for\x20key:\x20'+_0x4827b8,{..._0x267ec6});throw _0x267ec6;}}async['getPendingMessages'](_0x19daa3,_0x454faf,_0xe27bf8,_0x357c29){const _0x531d27='-',_0x38eb59='+';try{const _0x455cc4=[_0x19daa3,_0x454faf];if(_0x531d27)_0x455cc4['push'](_0x531d27);if(_0x38eb59)_0x455cc4['push'](_0x38eb59);if(_0xe27bf8!==undefined)_0x455cc4['push'](_0xe27bf8['toString']());if(_0x357c29)_0x455cc4['push'](_0x357c29);try{return await this['streamClient']['call']('XPENDING',..._0x455cc4);}catch(_0x251118){this['logger']['error']('err,\x20args',{..._0x251118},_0x455cc4);}}catch(_0x5f460f){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0x19daa3+'],\x20[group\x20'+_0x454faf+']',{..._0x5f460f});throw _0x5f460f;}}async['retryMessages'](_0x55a9f4,_0x50e66f,_0x28e8ca){let _0x426252=[];const _0x86c8c5=await this['getPendingMessages'](_0x55a9f4,_0x50e66f,_0x28e8ca?.['limit']);for(const _0x4a5e5e of _0x86c8c5){if(Array['isArray'](_0x4a5e5e)){const [_0x5f2636,,_0x58c918,_0x32d9b0]=_0x4a5e5e;if(_0x58c918>_0x28e8ca?.['minIdleTime']){const _0x7e1066=await this['claimMessage'](_0x55a9f4,_0x50e66f,_0x28e8ca?.['consumerName'],_0x28e8ca?.['minIdleTime'],_0x5f2636);_0x426252=_0x426252['concat'](_0x7e1066);}}}return _0x426252;}async['claimMessage'](_0x28810d,_0x2673de,_0x4f6f99,_0x45a5e9,_0x391e95,..._0x5cdb2c){try{const _0x4e4290=await this['streamClient']['xclaim'](_0x28810d,_0x2673de,_0x4f6f99,_0x45a5e9,_0x391e95,..._0x5cdb2c);return{'id':_0x4e4290[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x4e4290[0x0][0x1][0x1])};}catch(_0x2a040b){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x391e95+'\x20in\x20group:\x20'+_0x2673de+'\x20for\x20key:\x20'+_0x28810d,{..._0x2a040b});throw _0x2a040b;}}async['getStreamStats'](_0x4c452c){return{'messageCount':await this['getStreamDepth'](_0x4c452c)};}async['getStreamDepth'](_0x463a2c,_0x2ddb4a){try{if(_0x2ddb4a?.['multi'])return _0x2ddb4a['multi']['xlen'](_0x463a2c),0x0;const _0x47809a=await this['streamClient']['xlen'](_0x463a2c);return _0x47809a;}catch(_0x3b13bf){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x463a2c,{'error':_0x3b13bf});throw _0x3b13bf;}}async['getStreamDepths'](_0x30e832){const _0x4f5b93=this['storeClient']['multi'](),_0x363f11=new Map();_0x30e832['forEach'](_0x2846e5=>{!_0x363f11['has'](_0x2846e5['stream'])&&(_0x363f11['set'](_0x2846e5['stream'],-0x1),this['getStreamDepth'](_0x2846e5['stream'],{'multi':_0x4f5b93}));});const _0x3b271b=await _0x4f5b93['exec']();Array['from'](_0x363f11['keys']())['forEach']((_0xfd06ad,_0x31015d)=>{_0x363f11['set'](_0xfd06ad,_0x3b271b[_0x31015d][0x1]);});const _0x1dc58e=_0x30e832['map'](_0x3195d=>{return{'stream':_0x3195d['stream'],'depth':_0x363f11['get'](_0x3195d['stream'])||0x0};});return _0x1dc58e;}async['trimStream'](_0x142325,_0x465786){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['IORedisStreamService']=IORedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';function _0x479b(_0x3a8034,_0x4d777b){const _0x49990c=_0x4999();return _0x479b=function(_0x479b78,_0x4aae6f){_0x479b78=_0x479b78-0x111;let _0x5e4065=_0x49990c[_0x479b78];return _0x5e4065;},_0x479b(_0x3a8034,_0x4d777b);}(function(_0x4c85ec,_0x59240e){const _0x65c67b=_0x479b,_0x598dd2=_0x4c85ec();while(!![]){try{const _0x35dabe=-parseInt(_0x65c67b(0x116))/0x1*(-parseInt(_0x65c67b(0x117))/0x2)+-parseInt(_0x65c67b(0x118))/0x3*(-parseInt(_0x65c67b(0x119))/0x4)+parseInt(_0x65c67b(0x11b))/0x5*(-parseInt(_0x65c67b(0x112))/0x6)+parseInt(_0x65c67b(0x114))/0x7+parseInt(_0x65c67b(0x11d))/0x8*(-parseInt(_0x65c67b(0x111))/0x9)+-parseInt(_0x65c67b(0x115))/0xa*(parseInt(_0x65c67b(0x11c))/0xb)+-parseInt(_0x65c67b(0x11a))/0xc*(-parseInt(_0x65c67b(0x113))/0xd);if(_0x35dabe===_0x59240e)break;else _0x598dd2['push'](_0x598dd2['shift']());}catch(_0x281568){_0x598dd2['push'](_0x598dd2['shift']());}}}(_0x4999,0xcd659));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;function _0x4999(){const _0x5927b2=['2893160PXOcDC','23RaVqeO','87944QJfmgI','4341PLteWy','184xEIWIm','12Zkvyoc','2045kcNtVL','55jakuiV','8SmGMFF','14000751RknAMm','21552tnTGEj','47515403IoYVyN','4057921PzLeSd'];_0x4999=function(){return _0x5927b2;};return _0x4999();}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(_0x3da028,_0x2978f0,_0x215ae0={}){super(_0x3da028,_0x2978f0,_0x215ae0);}async['init'](_0x2b45cf,_0x2e5efe,_0xde730b){this['namespace']=_0x2b45cf,this['logger']=_0xde730b,this['appId']=_0x2e5efe;}['mintKey'](_0x3e6aa0,_0x369ebb){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x3e6aa0,{..._0x369ebb,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x4a0826){try{const _0x3be1ac=await this['streamClient']['XADD'](_0x4a0826,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0x4a0826,_0x3be1ac),!![];}catch(_0x2fe251){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x4a0826,{'error':_0x2fe251});throw _0x2fe251;}}async['deleteStream'](_0x20c3be){try{const _0x50b7fd=await this['streamClient']['DEL'](_0x20c3be);return _0x50b7fd>0x0;}catch(_0x572fb8){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x20c3be,{'error':_0x572fb8});throw _0x572fb8;}}async['createConsumerGroup'](_0x4f124c,_0x4bee55){try{const _0x870f99=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x4f124c,_0x4bee55,'$','MKSTREAM']);return _0x870f99==='OK';}catch(_0x5600f0){const _0x40a5cd='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x40a5cd+'\x20for\x20key:\x20'+_0x4f124c+'\x20and\x20group:\x20'+_0x4bee55,{..._0x5600f0});throw _0x5600f0;}}async['deleteConsumerGroup'](_0xfc76f4,_0x38608b){try{const _0x3411df=await this['streamClient']['xGroupDestroy'](_0xfc76f4,_0x38608b);return _0x3411df;}catch(_0x47d0bc){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x38608b+'\x20for\x20stream\x20'+_0xfc76f4,{'error':_0x47d0bc});throw _0x47d0bc;}}async['publishMessages'](_0x31a413,_0x8122fa,_0x4e6df7){try{const _0x475f85=_0x4e6df7?.['transaction']||_0x8122fa['length']>0x1&&this['storeClient']['multi']();let _0x4ba9d5;for(const _0xa36d38 of _0x8122fa){_0x4ba9d5=await(_0x475f85||this['storeClient'])['XADD'](_0x31a413,'*',{'message':_0xa36d38});}return _0x475f85&&!_0x4e6df7?.['transaction']?(await _0x475f85['exec']())['map'](_0x3710da=>_0x3710da[0x1]):[_0x4ba9d5];}catch(_0x161f16){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x31a413,{..._0x161f16});throw _0x161f16;}}async['consumeMessages'](_0x4aa754,_0x48ed41,_0x215c1e,_0x202874){const _0x23ebea='GROUP',_0x45cbe2='BLOCK',_0x5a8274='STREAMS',_0x1cc070='>';try{const _0x173ffe=await this['streamClient']['sendCommand'](['XREADGROUP',_0x23ebea,_0x48ed41,_0x215c1e,_0x45cbe2,_0x202874?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x5a8274,_0x4aa754,_0x1cc070]),_0x555f15=[];if((0x0,utils_1['isStreamMessage'])(_0x173ffe)){const [[,_0xbab7f4]]=_0x173ffe;for(const [_0xdb7cf2,_0x4b6b1a]of _0xbab7f4){_0x555f15['push']({'id':_0xdb7cf2,'data':(0x0,utils_1['parseStreamMessage'])(_0x4b6b1a[0x1])});}}else return[];return _0x555f15;}catch(_0x3c0280){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4aa754,{'error':_0x3c0280});throw _0x3c0280;}}async['ackAndDelete'](_0x47aae7,_0x246461,_0x4a7073){const _0x3b96a1=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x47aae7,_0x246461,_0x4a7073,{'multi':_0x3b96a1}),await this['deleteMessages'](_0x47aae7,_0x246461,_0x4a7073,{'multi':_0x3b96a1}),await _0x3b96a1['exec'](),_0x4a7073['length'];}async['acknowledgeMessages'](_0x35f7a3,_0x173cb1,_0x33ea00,_0x731c27){try{return _0x731c27?.['multi']?(_0x731c27['multi']['XACK'](_0x35f7a3,_0x173cb1,_0x33ea00),_0x731c27['multi']):await this['streamClient']['XACK'](_0x35f7a3,_0x173cb1,..._0x33ea00);}catch(_0x57c55e){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x173cb1+'\x20for\x20key:\x20'+_0x35f7a3,{'error':_0x57c55e});throw _0x57c55e;}}async['deleteMessages'](_0x3262ea,_0x39fd91,_0x58b391,_0x4f9672){try{return _0x4f9672?.['multi']?(_0x4f9672['multi']['xDel'](_0x3262ea,_0x58b391),_0x4f9672['multi']):await this['streamClient']['XDEL'](_0x3262ea,..._0x58b391);}catch(_0x40812e){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0x58b391['join'](',')+'\x20for\x20key:\x20'+_0x3262ea,{'error':_0x40812e});throw _0x40812e;}}async['getPendingMessages'](_0x4bd493,_0x4dd2dc,_0x4ea82a,_0x479d41){try{const _0x5d2b2f='-',_0x10f111='+',_0x451c65=[_0x4bd493,_0x4dd2dc];if(_0x5d2b2f)_0x451c65['push'](_0x5d2b2f);if(_0x10f111)_0x451c65['push'](_0x10f111);if(_0x4ea82a!==undefined)_0x451c65['push'](_0x4ea82a['toString']());if(_0x479d41)_0x451c65['push'](_0x479d41);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x451c65]);}catch(_0x3cd7b5){this['logger']['error']('error,\x20args',{..._0x3cd7b5},_0x451c65);}}catch(_0x9b66c6){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x4dd2dc+'\x20in\x20key:\x20'+_0x4bd493,{..._0x9b66c6});throw _0x9b66c6;}}async['retryMessages'](_0x4cf817,_0x1a5286,_0x2977f3){let _0x36d03f=[];const _0x592a86=await this['getPendingMessages'](_0x4cf817,_0x1a5286,_0x2977f3?.['limit']);for(const _0x52e9f6 of _0x592a86){if(Array['isArray'](_0x52e9f6)){const [_0x190594,,_0xea09b3,_0x399914]=_0x52e9f6;if(_0xea09b3>_0x2977f3?.['minIdleTime']){const _0x412be4=await this['claimMessage'](_0x4cf817,_0x1a5286,_0x2977f3?.['consumerName'],_0x2977f3?.['minIdleTime'],_0x190594);_0x36d03f=_0x36d03f['concat'](_0x412be4);}}}return _0x36d03f;}async['claimMessage'](_0x566293,_0x1a0eb9,_0x2baac9,_0x2e7c66,_0x203a7f,..._0x1d4d3d){try{const _0x52dfaa=await this['streamClient']['sendCommand'](['XCLAIM',_0x566293,_0x1a0eb9,_0x2baac9,_0x2e7c66['toString'](),_0x203a7f,..._0x1d4d3d]);return{'id':_0x52dfaa[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x52dfaa[0x0][0x1][0x1])};}catch(_0x14f7cc){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x203a7f+'\x20in\x20group:\x20'+_0x1a0eb9+'\x20for\x20key:\x20'+_0x566293,{..._0x14f7cc});throw _0x14f7cc;}}async['getStreamStats'](_0x3f2d8e){return{'messageCount':await this['getStreamDepth'](_0x3f2d8e)};}async['getStreamDepth'](_0x266b9b,_0x45d6fa){try{if(_0x45d6fa?.['multi'])return _0x45d6fa['multi']['XLEN'](_0x266b9b),0x0;const _0x53e28e=await this['streamClient']['XLEN'](_0x266b9b);return _0x53e28e;}catch(_0x595c3a){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x266b9b,{'error':_0x595c3a});throw _0x595c3a;}}async['getStreamDepths'](_0x5d23f8){const _0xb7905f=this['storeClient']['multi'](),_0x102ebe=new Map();_0x5d23f8['forEach'](_0x10d053=>{!_0x102ebe['has'](_0x10d053['stream'])&&(_0x102ebe['set'](_0x10d053['stream'],-0x1),this['getStreamDepth'](_0x10d053['stream'],{'multi':_0xb7905f}));});const _0x1e6de1=await _0xb7905f['exec']();return Array['from'](_0x102ebe['keys']())['forEach']((_0x396b98,_0x277ee0)=>{_0x102ebe['set'](_0x396b98,_0x1e6de1[_0x277ee0]);}),_0x5d23f8['map'](_0x4e4b32=>{return{'stream':_0x4e4b32['stream'],'depth':_0x102ebe['get'](_0x4e4b32['stream'])||0x0};});}async['trimStream'](_0x4878be,_0x4cbea3){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x37c8c4,_0xf42e1a){var _0x206bf0=_0x5961,_0x50cfdd=_0x37c8c4();while(!![]){try{var _0x4d998c=parseInt(_0x206bf0(0x151))/0x1+-parseInt(_0x206bf0(0x155))/0x2*(-parseInt(_0x206bf0(0x152))/0x3)+parseInt(_0x206bf0(0x153))/0x4+parseInt(_0x206bf0(0x159))/0x5+parseInt(_0x206bf0(0x157))/0x6*(-parseInt(_0x206bf0(0x154))/0x7)+parseInt(_0x206bf0(0x158))/0x8+-parseInt(_0x206bf0(0x156))/0x9;if(_0x4d998c===_0xf42e1a)break;else _0x50cfdd['push'](_0x50cfdd['shift']());}catch(_0x4cf1e3){_0x50cfdd['push'](_0x50cfdd['shift']());}}}(_0x157a,0xd6977));function _0x5961(_0x363d53,_0x72404a){var _0x157aa8=_0x157a();return _0x5961=function(_0x596199,_0x34a267){_0x596199=_0x596199-0x151;var _0x46be79=_0x157aa8[_0x596199];return _0x46be79;},_0x5961(_0x363d53,_0x72404a);}function _0x157a(){var _0x5825d0=['546WPRcMa','12961344yMJdGz','876125ANhbmA','406481LukeUx','45wVKkoC','3422380EKPzAw','74809rpHPlF','3538ErmFmF','11092680qznvAD'];_0x157a=function(){return _0x5825d0;};return _0x157a();}Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x1a2f98,_0x5a5b5d){const _0xe31ca1=_0x5396,_0xd9dc03=_0x1a2f98();while(!![]){try{const _0x5eab45=parseInt(_0xe31ca1(0x195))/0x1*(parseInt(_0xe31ca1(0x198))/0x2)+parseInt(_0xe31ca1(0x191))/0x3*(parseInt(_0xe31ca1(0x196))/0x4)+-parseInt(_0xe31ca1(0x19d))/0x5*(parseInt(_0xe31ca1(0x19a))/0x6)+parseInt(_0xe31ca1(0x193))/0x7*(parseInt(_0xe31ca1(0x194))/0x8)+parseInt(_0xe31ca1(0x19b))/0x9+-parseInt(_0xe31ca1(0x192))/0xa*(parseInt(_0xe31ca1(0x19c))/0xb)+-parseInt(_0xe31ca1(0x197))/0xc*(parseInt(_0xe31ca1(0x199))/0xd);if(_0x5eab45===_0x5a5b5d)break;else _0xd9dc03['push'](_0xd9dc03['shift']());}catch(_0x1b9496){_0xd9dc03['push'](_0xd9dc03['shift']());}}}(_0x22f1,0x30019));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class IORedisSubService extends index_1['SubService']{constructor(_0x15f671,_0xde8164){super(_0x15f671,_0xde8164);}async['init'](_0x1ff68d=key_1['HMNS'],_0x5c1e77,_0x57bf0b,_0x87a979){this['namespace']=_0x1ff68d,this['logger']=_0x87a979,this['appId']=_0x5c1e77;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x1f32ed,_0x45ca82){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x1f32ed,_0x45ca82);}async['subscribe'](_0x2026cb,_0x987998,_0x5290d8,_0x24d108){const _0x41faca=this,_0x457e75=this['mintKey'](_0x2026cb,{'appId':_0x5290d8,'engineId':_0x24d108});await this['eventClient']['subscribe'](_0x457e75,_0x2f025c=>{_0x2f025c&&_0x41faca['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x457e75,_0x2f025c);}),this['eventClient']['on']('message',(_0xe3baf7,_0x3bd1db)=>{if(_0xe3baf7===_0x457e75)try{const _0x3fc026=JSON['parse'](_0x3bd1db);_0x987998(_0x457e75,_0x3fc026);}catch(_0xaa91a7){_0x41faca['logger']['error']('Error\x20parsing\x20message:\x20'+_0x3bd1db,_0xaa91a7);}});}async['unsubscribe'](_0x21395b,_0x1a4996,_0x56f0a0){const _0x24f0cb=this['mintKey'](_0x21395b,{'appId':_0x1a4996,'engineId':_0x56f0a0});await this['eventClient']['unsubscribe'](_0x24f0cb);}async['psubscribe'](_0xbb3b70,_0x19ba5c,_0x548fb1,_0x24e3b5){const _0x478cef=this,_0x724367=this['mintKey'](_0xbb3b70,{'appId':_0x548fb1,'engineId':_0x24e3b5});await this['eventClient']['psubscribe'](_0x724367,_0x4de000=>{_0x4de000&&_0x478cef['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x724367,_0x4de000);}),this['eventClient']['on']('pmessage',(_0x2b8096,_0x3a60f0,_0x112084)=>{if(_0x2b8096===_0x724367)try{const _0x213525=JSON['parse'](_0x112084);_0x19ba5c(_0x3a60f0,_0x213525);}catch(_0x881225){_0x478cef['logger']['error']('Error\x20parsing\x20message:\x20'+_0x112084,_0x881225);}});}async['punsubscribe'](_0x5038be,_0x25e18c,_0x52810c){const _0x50c435=this['mintKey'](_0x5038be,{'appId':_0x25e18c,'engineId':_0x52810c});await this['eventClient']['punsubscribe'](_0x50c435);}async['publish'](_0x8594c9,_0x547e9c,_0x41d4a8,_0x45a3d1){const _0x55c74d=this['mintKey'](_0x8594c9,{'appId':_0x41d4a8,'engineId':_0x45a3d1}),_0x33593b=await this['storeClient']['publish'](_0x55c74d,JSON['stringify'](_0x547e9c));return _0x33593b===0x1;}}exports['IORedisSubService']=IORedisSubService;function _0x5396(_0x1c1cc4,_0x584f89){const _0x22f18f=_0x22f1();return _0x5396=function(_0x539690,_0x2e6ad5){_0x539690=_0x539690-0x191;let _0x17b012=_0x22f18f[_0x539690];return _0x17b012;},_0x5396(_0x1c1cc4,_0x584f89);}function _0x22f1(){const _0x391d50=['3887DAsSvy','174hQxpFk','3538899mkyGfs','475926GPGaYx','65190jcEEzM','22065DsDTFR','50GBoPUv','7tubLNM','1423688AzHZQX','62138SxyLSi','148yoUqzr','12072CvFMuw','8FqJysc'];_0x22f1=function(){return _0x391d50;};return _0x22f1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x269eea,_0x4811a2){const _0x20421e=_0x48f6,_0x1e323d=_0x269eea();while(!![]){try{const _0x3e8822=-parseInt(_0x20421e(0x180))/0x1+parseInt(_0x20421e(0x17b))/0x2*(parseInt(_0x20421e(0x17c))/0x3)+parseInt(_0x20421e(0x182))/0x4+-parseInt(_0x20421e(0x17e))/0x5+-parseInt(_0x20421e(0x183))/0x6+-parseInt(_0x20421e(0x181))/0x7*(parseInt(_0x20421e(0x17a))/0x8)+parseInt(_0x20421e(0x17f))/0x9*(parseInt(_0x20421e(0x17d))/0xa);if(_0x3e8822===_0x4811a2)break;else _0x1e323d['push'](_0x1e323d['shift']());}catch(_0x5e61f3){_0x1e323d['push'](_0x1e323d['shift']());}}}(_0x195e,0x5d76c));function _0x195e(){const _0x52ce86=['590161kmSZGL','12579uGaXbU','2993780wlHLxV','2309916ALLQpZ','728cbAaOm','2QzCHFp','247218cKEQel','177200lycajb','1331145hYttPl','486jMLYYL'];_0x195e=function(){return _0x52ce86;};return _0x195e();}function _0x48f6(_0x496a6e,_0x4db0ae){const _0x195e99=_0x195e();return _0x48f6=function(_0x48f6a7,_0x295b09){_0x48f6a7=_0x48f6a7-0x17a;let _0x3a8c34=_0x195e99[_0x48f6a7];return _0x3a8c34;},_0x48f6(_0x496a6e,_0x4db0ae);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0x457019,_0x495f7a){super(_0x457019,_0x495f7a);}async['init'](_0x1c0c8f=key_1['HMNS'],_0x416744,_0x4210b1,_0x10e570){this['namespace']=_0x1c0c8f,this['logger']=_0x10e570,this['appId']=_0x416744;}['transact'](){const _0x57890b=this['eventClient']['multi']();return _0x57890b;}['mintKey'](_0x2685dc,_0x1f9995){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x2685dc,_0x1f9995);}async['subscribe'](_0x10de35,_0x1e4869,_0x4868f5,_0x34944d){if(this['eventClient']){const _0x42a79a=this,_0x1c0107=this['mintKey'](_0x10de35,{'appId':_0x4868f5,'engineId':_0x34944d});await this['eventClient']['subscribe'](_0x1c0107,_0x1b4b2e=>{try{const _0x538cca=JSON['parse'](_0x1b4b2e);_0x1e4869(_0x1c0107,_0x538cca);}catch(_0x38a8ff){_0x42a79a['logger']['error']('Error\x20parsing\x20message:\x20'+_0x1b4b2e,_0x38a8ff);}});}}async['unsubscribe'](_0x52e33e,_0x28c5db,_0x1be064){const _0xf10a63=this['mintKey'](_0x52e33e,{'appId':_0x28c5db,'engineId':_0x1be064});await this['eventClient']['unsubscribe'](_0xf10a63);}async['psubscribe'](_0x1c954b,_0xd44595,_0x36bbe4,_0x2b666d){if(this['eventClient']){const _0x295dc3=this,_0x17d70f=this['mintKey'](_0x1c954b,{'appId':_0x36bbe4,'engineId':_0x2b666d});await this['eventClient']['pSubscribe'](_0x17d70f,(_0x46fe84,_0x5ba9bc)=>{try{const _0x368e6f=JSON['parse'](_0x46fe84);_0xd44595(_0x5ba9bc,_0x368e6f);}catch(_0x38f154){_0x295dc3['logger']['error']('Error\x20parsing\x20message:\x20'+_0x46fe84,_0x38f154);}});}}async['punsubscribe'](_0x3fdd6d,_0xd5ed56,_0x37f70d){const _0x49f1a5=this['mintKey'](_0x3fdd6d,{'appId':_0xd5ed56,'engineId':_0x37f70d});await this['eventClient']['pUnsubscribe'](_0x49f1a5);}async['publish'](_0x1baf62,_0x40f771,_0x29afd0,_0x2417ab){const _0x2f8110=this['mintKey'](_0x1baf62,{'appId':_0x29afd0,'engineId':_0x2417ab}),_0x24fd0a=await this['storeClient']['publish'](_0x2f8110,JSON['stringify'](_0x40f771));return _0x24fd0a>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0xaf7bc,_0x6793e5){const _0x19df6d=_0x432d,_0x19d907=_0xaf7bc();while(!![]){try{const _0x325a6d=-parseInt(_0x19df6d(0x70))/0x1*(parseInt(_0x19df6d(0x79))/0x2)+-parseInt(_0x19df6d(0x6e))/0x3+parseInt(_0x19df6d(0x7a))/0x4*(parseInt(_0x19df6d(0x75))/0x5)+parseInt(_0x19df6d(0x77))/0x6*(parseInt(_0x19df6d(0x78))/0x7)+-parseInt(_0x19df6d(0x74))/0x8*(parseInt(_0x19df6d(0x76))/0x9)+parseInt(_0x19df6d(0x71))/0xa*(-parseInt(_0x19df6d(0x73))/0xb)+-parseInt(_0x19df6d(0x72))/0xc*(-parseInt(_0x19df6d(0x6f))/0xd);if(_0x325a6d===_0x6793e5)break;else _0x19d907['push'](_0x19d907['shift']());}catch(_0x1f207a){_0x19d907['push'](_0x19d907['shift']());}}}(_0x49c5,0xb9e5d));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');function _0x49c5(){const _0x31f5e8=['809184bqKQGh','14uXPZVx','156496hQOfKD','119552DCYhgN','2005989yIWaBU','1651ZFWTwc','7ExWYRJ','81750aLyYsC','218112fllLFd','803fNRzbi','5048936TrGtot','105PavnFw','9fzxxwb'];_0x49c5=function(){return _0x31f5e8;};return _0x49c5();}function _0x432d(_0xf39294,_0x7c549f){const _0x49c5dd=_0x49c5();return _0x432d=function(_0x432de3,_0x2dc0bc){_0x432de3=_0x432de3-0x6e;let _0x35718b=_0x49c5dd[_0x432de3];return _0x35718b;},_0x432d(_0xf39294,_0x7c549f);}class TaskService{constructor(_0x25eb6c,_0xc897b9){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0xc897b9,this['store']=_0x25eb6c;}async['processWebHooks'](_0x519a1d){const _0x23a83f=await this['store']['getActiveTaskQueue']();if(_0x23a83f){const [_0x2b0b3e,_0x475d7b,_0x29df14,..._0x4d8355]=_0x23a83f['split'](key_1['WEBSEP']),_0x25a5e2=JSON['parse'](_0x4d8355['join'](key_1['WEBSEP'])),_0x519b06=_0x475d7b+':processed',_0x1171e0=await this['store']['processTaskQueue'](_0x475d7b,_0x519b06);_0x1171e0?await _0x519a1d(_0x2b0b3e,{..._0x25a5e2,'id':_0x1171e0}):await this['store']['deleteProcessedTaskQueue'](_0x23a83f,_0x475d7b,_0x519b06,_0x29df14==='true'),setImmediate(()=>this['processWebHooks'](_0x519a1d));}}async['enqueueWorkItems'](_0xfcad45){await this['store']['addTaskQueues'](_0xfcad45);}async['registerJobForCleanup'](_0x26829,_0x2c132e=enums_1['HMSH_EXPIRE_DURATION'],_0x6d85a){_0x2c132e>0x0&&await this['store']['expireJob'](_0x26829,_0x2c132e);}async['registerTimeHook'](_0x4f9b57,_0x4933fa,_0x457de8,_0x31ed99,_0x36e600=enums_1['HMSH_FIDELITY_SECONDS'],_0x4c89ac,_0x5d0eb4){const _0x4019b5=Date['now']()+_0x36e600*0x3e8,_0x493407=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x4b530d=Math['floor'](_0x4019b5/_0x493407)*_0x493407;await this['store']['registerTimeHook'](_0x4f9b57,_0x4933fa,_0x457de8,_0x31ed99,_0x4b530d,_0x4c89ac,_0x5d0eb4);}async['shouldScout'](){const _0x4edef5=this['isScout'],_0x3c4917=_0x4edef5||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x3c4917)return!_0x4edef5&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0x3ce130,_0x12a037){if(await this['shouldScout']())try{const _0x3a086e=await this['store']['getNextTask'](_0x12a037);if(Array['isArray'](_0x3a086e)){const [_0x181479,_0x27870d,_0x15e34d,_0x3831c4,_0x56fc02]=_0x3a086e;if(_0x56fc02==='child'){}else{if(_0x56fc02==='delist'){const _0x5e13c7=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x5e13c7,_0x27870d);}else await _0x3ce130(_0x27870d,_0x15e34d,_0x3831c4,_0x56fc02);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x3ce130,_0x181479);}else{if(_0x3a086e)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0x3ce130);else{const _0x42603a=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x42603a['timerId'],await _0x42603a['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0x3ce130);}}}catch(_0x1965ad){this['logger']['warn']('task-process-timehooks-error',_0x1965ad),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0x3ce130);}else{const _0x4e64fc=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x4e64fc['timerId'],await _0x4e64fc['promise'],this['processTimeHooks'](_0x3ce130);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x278c23){const _0x6d41c7=await this['store']['getHookRules']();return _0x6d41c7?.[_0x278c23]?.[0x0];}async['registerWebHook'](_0x23d923,_0x5895aa,_0x1d8508,_0x3ccf9e,_0x26ca4f){const _0x687828=await this['getHookRule'](_0x23d923);if(_0x687828){const _0x56ecc7=_0x687828['conditions']['match'][0x0]['expected'],_0x3c10d=pipe_1['Pipe']['resolve'](_0x56ecc7,_0x5895aa),_0xa55f9f=_0x5895aa['metadata']['jid'],_0x2b12c3=_0x5895aa['metadata']['gid'],_0x9e9915=_0x687828['to'],_0x5b64e6=[_0x9e9915,_0x1d8508,_0x2b12c3,_0xa55f9f]['join'](key_1['WEBSEP']),_0x287013={'topic':_0x23d923,'resolved':_0x3c10d,'jobId':_0x5b64e6,'expire':_0x3ccf9e};return await this['store']['setHookSignal'](_0x287013,_0x26ca4f),_0xa55f9f;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x5d15e9,_0x31ef3c){const _0x1b7bfe=await this['getHookRule'](_0x5d15e9);if(_0x1b7bfe){const _0x824bff={'$self':{'hook':{'data':_0x31ef3c}},'$hook':{'data':_0x31ef3c}},_0x5870b9=_0x1b7bfe['conditions']['match'][0x0]['actual'],_0xc455ab=pipe_1['Pipe']['resolve'](_0x5870b9,_0x824bff),_0x4844e5=await this['store']['getHookSignal'](_0x5d15e9,_0xc455ab);if(!_0x4844e5)return undefined;const [_0xef8212,_0x5b1049,_0x3df6eb,..._0x14f138]=_0x4844e5['split'](key_1['WEBSEP']);return[_0x14f138['join'](key_1['WEBSEP']),_0x1b7bfe['to'],_0x5b1049,_0x3df6eb];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x4e24fa,_0x14f85d){const _0x16e8df=await this['getHookRule'](_0x4e24fa);if(_0x16e8df){const _0x114c9a={'$self':{'hook':{'data':_0x14f85d}},'$hook':{'data':_0x14f85d}},_0x42545b=_0x16e8df['conditions']['match'][0x0]['actual'],_0x101f16=pipe_1['Pipe']['resolve'](_0x42545b,_0x114c9a);return await this['store']['deleteHookSignal'](_0x4e24fa,_0x101f16);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x4649d2,_0xc7a49){const _0x38d85d=_0x26e0,_0x3e3924=_0x4649d2();while(!![]){try{const _0x42ac5b=-parseInt(_0x38d85d(0x6f))/0x1+-parseInt(_0x38d85d(0x74))/0x2+-parseInt(_0x38d85d(0x76))/0x3+-parseInt(_0x38d85d(0x72))/0x4*(-parseInt(_0x38d85d(0x77))/0x5)+parseInt(_0x38d85d(0x6e))/0x6+parseInt(_0x38d85d(0x73))/0x7*(parseInt(_0x38d85d(0x71))/0x8)+parseInt(_0x38d85d(0x75))/0x9*(parseInt(_0x38d85d(0x70))/0xa);if(_0x42ac5b===_0xc7a49)break;else _0x3e3924['push'](_0x3e3924['shift']());}catch(_0x1a1992){_0x3e3924['push'](_0x3e3924['shift']());}}}(_0x587c,0x1f79d));var __importDefault=this&&this['__importDefault']||function(_0x3cf0de){return _0x3cf0de&&_0x3cf0de['__esModule']?_0x3cf0de:{'default':_0x3cf0de};};function _0x587c(){const _0x5402d7=['6452mnPJLr','70PkdIbY','418972BczWRr','9tdcLrD','253290eNIwMu','580kfjvCp','947376AwinHy','196126heBlRk','1798330UIcgBv','75304zHpYFx'];_0x587c=function(){return _0x5402d7;};return _0x587c();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TelemetryService']=void 0x0;function _0x26e0(_0x1beaf3,_0x113b46){const _0x587cb3=_0x587c();return _0x26e0=function(_0x26e05d,_0x3562d6){_0x26e05d=_0x26e05d-0x6e;let _0x288c3e=_0x587cb3[_0x26e05d];return _0x288c3e;},_0x26e0(_0x1beaf3,_0x113b46);}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');class TelemetryService{constructor(_0x1e5ef4,_0xcb1ff5,_0x126780,_0x8d3ca6){this['leg']=0x1,this['appId']=_0x1e5ef4,this['config']=_0xcb1ff5,this['metadata']=_0x126780,this['context']=_0x8d3ca6;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x28a303){return _0x28a303===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x4f684e='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x18ba06=this['getTraceId'](),_0x1d8743=this['getJobParentSpanId'](),_0x5b95c8=this['getSpanAttrs'](0x1),_0x1c8f2d=this['startSpan'](_0x18ba06,_0x1d8743,_0x4f684e,_0x5b95c8);return this['jobSpan']=_0x1c8f2d,this['setTelemetryContext'](_0x1c8f2d,0x1),this;}['startActivitySpan'](_0x1eea89=this['leg']){const _0x5db793=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x1eea89,_0x5dddf0=this['getTraceId'](),_0x5639d9=this['getActivityParentSpanId'](_0x1eea89),_0x3dc80a=this['getSpanAttrs'](_0x1eea89),_0x4ea305=this['startSpan'](_0x5dddf0,_0x5639d9,_0x5db793,_0x3dc80a);return this['setTelemetryContext'](_0x4ea305,_0x1eea89),this['span']=_0x4ea305,this;}['startStreamSpan'](_0x382eca,_0x184801){let _0xcf868a;if(_0x184801===stream_1['StreamRole']['SYSTEM'])_0xcf868a='SYSTEM';else{if(_0x184801===stream_1['StreamRole']['WORKER'])_0xcf868a='EXECUTE';else _0x382eca['type']===stream_1['StreamDataType']['RESULT']||_0x382eca['type']===stream_1['StreamDataType']['RESPONSE']?_0xcf868a='FANIN':_0xcf868a='FANOUT';}const _0x1b468b=_0x382eca['metadata']['topic']?'/'+_0x382eca['metadata']['topic']:'',_0x386822=_0xcf868a+'/'+this['appId']+'/'+_0x382eca['metadata']['aid']+_0x1b468b,_0x20369e=this['getStreamSpanAttrs'](_0x382eca),_0x1d3319=this['startSpan'](_0x382eca['metadata']['trc'],_0x382eca['metadata']['spn'],_0x386822,_0x20369e);return this['span']=_0x1d3319,this;}['startSpan'](_0x43d82e,_0x371744,_0x744532,_0x58a5e6){this['traceId']=_0x43d82e,this['spanId']=_0x371744;const _0x5519d9=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x5e1f25=this['getParentSpanContext'](),_0x425a59=_0x5519d9['startSpan'](_0x744532,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x58a5e6,'root':!_0x5e1f25},_0x5e1f25);return _0x425a59;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x223f2f=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x48f21f={...Object['keys'](_0x223f2f)['reduce']((_0x1f71f7,_0x414073)=>{return['string','boolean','number']['includes'](typeof _0x223f2f[_0x414073])&&(_0x1f71f7['app.activity.data.'+_0x414073]=_0x223f2f[_0x414073]),_0x1f71f7;},{})};this['span']?.['setAttributes'](_0x48f21f);}}['setActivityAttributes'](_0x4ca5b7){this['span']?.['setAttributes'](_0x4ca5b7);}['setStreamAttributes'](_0x27e4ef){this['span']?.['setAttributes'](_0x27e4ef);}['setJobAttributes'](_0x5006b2){this['jobSpan']?.['setAttributes'](_0x5006b2);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0xfb861d){_0xfb861d&&_0xfb861d['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x9471ac={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0xfca809=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x9471ac);return _0xfca809;}}['getSpanAttrs'](_0x2bc4e9){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x35ee19,_0x156372)=>{return _0x156372!=='trc'&&(_0x35ee19['app.job.'+_0x156372]=this['context']['metadata'][_0x156372]),_0x35ee19;},{}),...Object['keys'](this['metadata'])['reduce']((_0x2da0f5,_0x225222)=>{return _0x2da0f5['app.activity.'+_0x225222]=this['metadata'][_0x225222],_0x2da0f5;},{}),'app.activity.leg':_0x2bc4e9};}['getStreamSpanAttrs'](_0x550a71){return{...Object['keys'](_0x550a71['metadata'])['reduce']((_0x394306,_0xb72119)=>{return _0xb72119!=='trc'&&_0xb72119!=='spn'&&(_0x394306['app.stream.'+_0xb72119]=_0x550a71['metadata'][_0xb72119]),_0x394306;},{})};}['setTelemetryContext'](_0x8a83,_0x3d3e94){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0x8a83['spanContext']()['traceId']),_0x3d3e94===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0x8a83['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0x8a83['spanContext']()['spanId']);}['setActivityError'](_0x4006bb){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x4006bb});}['setStreamError'](_0x4a0066){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x4a0066});}static['addTargetTelemetryPaths'](_0x31db82,_0x62b377,_0x518217,_0x9af2ce){_0x9af2ce===0x1?(!(_0x62b377['parent']in _0x31db82)&&(_0x31db82[_0x62b377['parent']]=[]),_0x31db82[_0x62b377['parent']]['push'](_0x62b377['parent']+'/output/metadata/l2s')):(!(_0x518217['aid']in _0x31db82)&&(_0x31db82[_0x518217['aid']]=[]),_0x31db82[_0x518217['aid']]['push'](_0x518217['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0x49c6df,_0x848d9a,_0xd3c94b){_0x848d9a['type']==='trigger'&&(_0x49c6df['metadata/trc']=_0xd3c94b['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x3fecde,_0x44158a,_0x45fbb8,_0x33dccb,_0x3c6b9f){if(_0x44158a['type']==='trigger')_0x3fecde[_0x45fbb8['aid']+'/output/metadata/l1s']=_0x33dccb['$self']['output']['metadata']['l1s'],_0x3fecde[_0x45fbb8['aid']+'/output/metadata/l2s']=_0x33dccb['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x44158a['type'])==='hook'&&_0x3c6b9f===0x1)_0x3fecde[_0x45fbb8['aid']+'/output/metadata/l1s']=_0x33dccb['$self']['output']['metadata']['l1s'],_0x3fecde[_0x45fbb8['aid']+'/output/metadata/l2s']=_0x33dccb['$self']['output']['metadata']['l1s'];else{if(_0x44158a['type']==='signal'&&_0x3c6b9f===0x1)_0x3fecde[_0x45fbb8['aid']+'/output/metadata/l1s']=_0x33dccb['$self']['output']['metadata']['l1s'],_0x3fecde[_0x45fbb8['aid']+'/output/metadata/l2s']=_0x33dccb['$self']['output']['metadata']['l1s'];else{const _0x46e68d='l'+_0x3c6b9f+'s';_0x3fecde[_0x45fbb8['aid']+'/output/metadata/'+_0x46e68d]=_0x33dccb['$self']['output']['metadata'][_0x46e68d];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x28b1e6,_0x2c02d1){const _0x3dbe41=_0x2acd,_0x214d91=_0x28b1e6();while(!![]){try{const _0x42a5ea=-parseInt(_0x3dbe41(0x174))/0x1*(parseInt(_0x3dbe41(0x173))/0x2)+parseInt(_0x3dbe41(0x17a))/0x3*(-parseInt(_0x3dbe41(0x176))/0x4)+parseInt(_0x3dbe41(0x172))/0x5+-parseInt(_0x3dbe41(0x178))/0x6+parseInt(_0x3dbe41(0x175))/0x7+parseInt(_0x3dbe41(0x177))/0x8*(-parseInt(_0x3dbe41(0x179))/0x9)+parseInt(_0x3dbe41(0x17b))/0xa;if(_0x42a5ea===_0x2c02d1)break;else _0x214d91['push'](_0x214d91['shift']());}catch(_0x5133a8){_0x214d91['push'](_0x214d91['shift']());}}}(_0x2068,0x727c3));function _0x2acd(_0x3ee7b4,_0x3652f){const _0x20683d=_0x2068();return _0x2acd=function(_0x2acdcb,_0x2c9930){_0x2acdcb=_0x2acdcb-0x172;let _0x4eac86=_0x20683d[_0x2acdcb];return _0x4eac86;},_0x2acd(_0x3ee7b4,_0x3652f);}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');function _0x2068(){const _0x3d635e=['2045586tOWYeY','18412400pdtKiu','83425fmDAed','220ntYnIi','5918sjCfMs','5003411OjMZqJ','4BqrbsD','3036568WYGWPi','2348124ySKjtu','9GpGsKL'];_0x2068=function(){return _0x3d635e;};return _0x2068();}class WorkerService{constructor(){this['reporting']=![];}static async['init'](_0x5278e9,_0x14b7bb,_0x3fb3ab,_0x3c4e4f,_0x5e1efb){const _0x397da8=[];if(Array['isArray'](_0x3c4e4f['workers']))for(const _0x4c88a4 of _0x3c4e4f['workers']){await factory_1['ConnectorService']['initClients'](_0x4c88a4);const _0x4966e3=new WorkerService();_0x4966e3['verifyWorkerFields'](_0x4c88a4),_0x4966e3['namespace']=_0x5278e9,_0x4966e3['appId']=_0x14b7bb,_0x4966e3['guid']=_0x3fb3ab,_0x4966e3['callback']=_0x4c88a4['callback'],_0x4966e3['topic']=_0x4c88a4['topic'],_0x4966e3['config']=_0x3c4e4f,_0x4966e3['logger']=_0x5e1efb,await _0x4966e3['initStoreChannel'](_0x4966e3,_0x4c88a4['store']),await _0x4966e3['initSubChannel'](_0x4966e3,_0x4c88a4['sub'],_0x4c88a4['pub']),await _0x4966e3['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x4966e3['subscriptionHandler'](),_0x14b7bb),await _0x4966e3['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x4966e3['subscriptionHandler'](),_0x14b7bb,_0x4966e3['topic']),await _0x4966e3['subscribe']['subscribe'](key_1['KeyType']['QUORUM'],_0x4966e3['subscriptionHandler'](),_0x14b7bb,_0x4966e3['guid']),await _0x4966e3['initStreamChannel'](_0x4966e3,_0x4c88a4['stream'],_0x4c88a4['store']),_0x4966e3['router']=await _0x4966e3['initRouter'](_0x4c88a4,_0x5e1efb);const _0x5bcc7e=_0x4966e3['store']['mintKey'](key_1['KeyType']['STREAMS'],{'appId':_0x4966e3['appId'],'topic':_0x4c88a4['topic']});await _0x4966e3['router']['consumeMessages'](_0x5bcc7e,'WORKER',_0x4966e3['guid'],_0x4c88a4['callback']),_0x4966e3['inited']=(0x0,utils_1['formatISODate'])(new Date()),_0x397da8['push'](_0x4966e3);}return _0x397da8;}['verifyWorkerFields'](_0x2ea73c){if(!(0x0,utils_1['identifyProvider'])(_0x2ea73c['store'])||!(0x0,utils_1['identifyProvider'])(_0x2ea73c['stream'])||!(0x0,utils_1['identifyProvider'])(_0x2ea73c['sub'])||!(_0x2ea73c['topic']&&_0x2ea73c['callback']))throw new Error('worker\x20must\x20include\x20`store`,\x20`stream`,\x20and\x20`sub`\x20fields\x20along\x20with\x20a\x20callback\x20function\x20and\x20topic.');}async['initStoreChannel'](_0x50810a,_0x23809b){_0x50810a['store']=await factory_4['StoreServiceFactory']['init'](_0x23809b,_0x50810a['namespace'],_0x50810a['appId'],_0x50810a['logger']);}async['initSubChannel'](_0xa5930,_0x3b768f,_0x591fac){_0xa5930['subscribe']=await factory_3['SubServiceFactory']['init'](_0x3b768f,_0x591fac,_0xa5930['namespace'],_0xa5930['appId'],_0xa5930['guid'],_0xa5930['logger']);}async['initStreamChannel'](_0x1d4661,_0x334441,_0x1c421b){_0x1d4661['stream']=await factory_2['StreamServiceFactory']['init'](_0x334441,_0x1c421b,_0x1d4661['namespace'],_0x1d4661['appId'],_0x1d4661['logger']);}async['initRouter'](_0x40f822,_0x5ebb61){const _0x3499dd=await this['store']['getThrottleRate'](_0x40f822['topic']);return new router_1['Router']({'namespace':this['namespace'],'appId':this['appId'],'guid':this['guid'],'role':stream_1['StreamRole']['WORKER'],'topic':_0x40f822['topic'],'reclaimDelay':_0x40f822['reclaimDelay'],'reclaimCount':_0x40f822['reclaimCount'],'throttle':_0x3499dd},this['stream'],_0x5ebb61);}['subscriptionHandler'](){const _0x3dc13c=this;return async(_0x25e4ee,_0x4d8b21)=>{_0x3dc13c['logger']['debug']('worker-event-received',{'topic':_0x25e4ee,'type':_0x4d8b21['type']});if(_0x4d8b21['type']==='throttle')_0x4d8b21['topic']!==null&&_0x3dc13c['throttle'](_0x4d8b21['throttle']);else{if(_0x4d8b21['type']==='ping')_0x3dc13c['sayPong'](_0x3dc13c['appId'],_0x3dc13c['guid'],_0x4d8b21['originator'],_0x4d8b21['details']);else _0x4d8b21['type']==='rollcall'&&(_0x4d8b21['topic']!==null&&_0x3dc13c['doRollCall'](_0x4d8b21));}};}async['doRollCall'](_0x4ddb30){let _0xbe1421=0x0;const _0x22a966=!isNaN(_0x4ddb30['max'])?_0x4ddb30['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x5e7b85=_0x4ddb30['interval']/0x2,_0x538bfe=_0x5e7b85+Math['ceil'](Math['random']()*_0x5e7b85);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![],_0x4ddb30['signature']);if(!_0x4ddb30['interval'])return;const {promise:_0x576adb,timerId:_0x5ca756}=(0x0,utils_1['XSleepFor'])(_0x538bfe*0x3e8);this['rollCallInterval']=_0x5ca756,await _0x576adb;}while(this['rollCallInterval']&&_0xbe1421++<_0x22a966-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['sayPong'](_0x5349e3,_0x56b17b,_0x328af4,_0x306753=![],_0x35aa37=![]){let _0xe541b5;if(_0x306753){const _0x292104={'appId':this['appId'],'topic':this['topic']};_0xe541b5={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'worker_topic':this['topic'],'stream':this['store']['mintKey'](key_1['KeyType']['STREAMS'],_0x292104),'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':_0x35aa37?this['callback']['toString']():undefined};}this['subscribe']['publish'](key_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x56b17b,'originator':_0x328af4,'profile':_0xe541b5},_0x5349e3);}async['throttle'](_0x405219){this['router']?.['setThrottle'](_0x405219);}}exports['WorkerService']=WorkerService;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProviderConfig } from './provider';
|
|
1
|
+
import { ProviderConfig, ProvidersConfig } from './provider';
|
|
2
2
|
import { LogLevel } from './logger';
|
|
3
3
|
interface MeshCallExecOptions {
|
|
4
4
|
id: string;
|
|
@@ -11,7 +11,7 @@ interface MeshCallConnectParams {
|
|
|
11
11
|
namespace?: string;
|
|
12
12
|
topic: string;
|
|
13
13
|
redis?: ProviderConfig;
|
|
14
|
-
connection?: ProviderConfig;
|
|
14
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
15
15
|
callback?: (...args: any[]) => any;
|
|
16
16
|
}
|
|
17
17
|
interface MeshCallExecParams {
|
|
@@ -19,7 +19,7 @@ interface MeshCallExecParams {
|
|
|
19
19
|
topic: string;
|
|
20
20
|
args: any[];
|
|
21
21
|
redis?: ProviderConfig;
|
|
22
|
-
connection?: ProviderConfig;
|
|
22
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
23
23
|
options?: MeshCallExecOptions;
|
|
24
24
|
}
|
|
25
25
|
interface MeshCallFlushOptions {
|
|
@@ -30,7 +30,7 @@ interface MeshCallFlushParams {
|
|
|
30
30
|
id?: string;
|
|
31
31
|
topic: string;
|
|
32
32
|
redis?: ProviderConfig;
|
|
33
|
-
connection?: ProviderConfig;
|
|
33
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
34
34
|
options?: MeshCallFlushOptions;
|
|
35
35
|
}
|
|
36
36
|
interface MeshCallCronOptions {
|
|
@@ -48,7 +48,7 @@ interface MeshCallCronParams {
|
|
|
48
48
|
namespace?: string;
|
|
49
49
|
topic: string;
|
|
50
50
|
redis?: ProviderConfig;
|
|
51
|
-
connection?: ProviderConfig;
|
|
51
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
52
52
|
args: any[];
|
|
53
53
|
callback?: (...args: any[]) => any;
|
|
54
54
|
options: MeshCallCronOptions;
|
|
@@ -61,7 +61,7 @@ interface MeshCallInterruptParams {
|
|
|
61
61
|
namespace?: string;
|
|
62
62
|
topic: string;
|
|
63
63
|
redis?: ProviderConfig;
|
|
64
|
-
connection?: ProviderConfig;
|
|
64
|
+
connection?: ProviderConfig | ProvidersConfig;
|
|
65
65
|
options: MeshCallInterruptOptions;
|
|
66
66
|
}
|
|
67
67
|
export { MeshCallConnectParams, MeshCallExecParams, MeshCallCronParams, MeshCallExecOptions, MeshCallCronOptions, MeshCallInterruptOptions, MeshCallInterruptParams, MeshCallFlushOptions, MeshCallFlushParams, MeshCallInstanceOptions, };
|