@hotmeshio/hotmesh 0.3.10 → 0.3.11
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 +6 -6
- package/build/modules/key.d.ts +4 -0
- package/build/modules/key.js +1 -1
- package/build/modules/utils.js +1 -1
- package/build/package.json +19 -15
- 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 +29 -17
- package/build/services/connector/index.d.ts +2 -0
- package/build/services/connector/index.js +2 -0
- package/build/services/connector/providers/nats.js +8 -2
- package/build/services/connector/providers/postgres.js +7 -3
- 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/meshflow/client.js +1 -1
- package/build/services/meshflow/exporter.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.d.ts +3 -0
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.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/factory.d.ts +1 -1
- package/build/services/store/factory.js +9 -5
- package/build/services/store/index.d.ts +2 -1
- package/build/services/store/providers/postgres/kvsql.d.ts +155 -0
- package/build/services/store/providers/postgres/kvsql.js +1 -0
- package/build/services/store/providers/postgres/postgres.d.ts +107 -0
- package/build/services/store/providers/postgres/postgres.js +1 -0
- package/build/services/store/providers/redis/_base.d.ts +0 -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.d.ts +0 -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/factory.js +5 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.d.ts +4 -0
- 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/hotmesh.d.ts +4 -0
- package/build/types/provider.d.ts +44 -1
- package/package.json +19 -15
- package/types/hotmesh.ts +15 -0
- package/types/provider.ts +74 -3
- package/build/services/store/providers/postgres/types/hash.d.ts +0 -0
- package/build/services/store/providers/postgres/types/hash.js +0 -0
- package/build/services/store/providers/postgres/types/list.d.ts +0 -0
- package/build/services/store/providers/postgres/types/list.js +0 -0
- package/build/services/store/providers/postgres/types/string.d.ts +0 -0
- package/build/services/store/providers/postgres/types/string.js +0 -0
- package/build/services/store/providers/postgres/types/zset.d.ts +0 -0
- package/build/services/store/providers/postgres/types/zset.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x368893,_0x12f45d){const _0x392da3=_0x4a64,_0x4c9dbd=_0x368893();while(!![]){try{const _0x3844d6=parseInt(_0x392da3(0x10e))/0x1+-parseInt(_0x392da3(0x108))/0x2+parseInt(_0x392da3(0x10a))/0x3+parseInt(_0x392da3(0x110))/0x4+parseInt(_0x392da3(0x10b))/0x5*(parseInt(_0x392da3(0x10f))/0x6)+parseInt(_0x392da3(0x10d))/0x7+-parseInt(_0x392da3(0x109))/0x8*(parseInt(_0x392da3(0x10c))/0x9);if(_0x3844d6===_0x12f45d)break;else _0x4c9dbd['push'](_0x4c9dbd['shift']());}catch(_0x17756d){_0x4c9dbd['push'](_0x4c9dbd['shift']());}}}(_0x18ad,0x6bf72));var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x26bb8e,_0x10de18,_0x3245ca,_0x4e460a){if(_0x4e460a===undefined)_0x4e460a=_0x3245ca;var _0x2a4e9f=Object['getOwnPropertyDescriptor'](_0x10de18,_0x3245ca);(!_0x2a4e9f||('get'in _0x2a4e9f?!_0x10de18['__esModule']:_0x2a4e9f['writable']||_0x2a4e9f['configurable']))&&(_0x2a4e9f={'enumerable':!![],'get':function(){return _0x10de18[_0x3245ca];}}),Object['defineProperty'](_0x26bb8e,_0x4e460a,_0x2a4e9f);}:function(_0x17ec15,_0x534459,_0x37453c,_0x5215b1){if(_0x5215b1===undefined)_0x5215b1=_0x37453c;_0x17ec15[_0x5215b1]=_0x534459[_0x37453c];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3a1ea3,_0x43e966){Object['defineProperty'](_0x3a1ea3,'default',{'enumerable':!![],'value':_0x43e966});}:function(_0x225480,_0x1b24e3){_0x225480['default']=_0x1b24e3;}),__importStar=this&&this['__importStar']||function(_0x3009cc){if(_0x3009cc&&_0x3009cc['__esModule'])return _0x3009cc;var _0x1a6165={};if(_0x3009cc!=null){for(var _0x33d5e5 in _0x3009cc)if(_0x33d5e5!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x3009cc,_0x33d5e5))__createBinding(_0x1a6165,_0x3009cc,_0x33d5e5);}return __setModuleDefault(_0x1a6165,_0x3009cc),_0x1a6165;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreBase']=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require('../../../../modules/key'),serializer_1=require('../../../serializer'),utils_1=require('../../../../modules/utils'),enums_1=require('../../../../modules/enums'),cache_1=require('../../cache'),__1=require('../..');function _0x18ad(){const _0x348da6=['144pLupRm','6152825DxlKlc','558838VvjejI','14382VTjHoj','165156vnBIuu','1665950vjnGAE','292256vyVAKm','990822SoUbZs','105wkmKyH'];_0x18ad=function(){return _0x348da6;};return _0x18ad();}function _0x4a64(_0x5b6795,_0x3a1595){const _0x18adc6=_0x18ad();return _0x4a64=function(_0x4a64b9,_0x4eb11e){_0x4a64b9=_0x4a64b9-0x108;let _0x3b16dd=_0x18adc6[_0x4a64b9];return _0x3b16dd;},_0x4a64(_0x5b6795,_0x3a1595);}class RedisStoreBase extends __1['StoreService']{constructor(_0xeae4){super(_0xeae4),this['commands']={},this['storeClient']=_0xeae4;}async['init'](_0x3a9286=key_1['HMNS'],_0x3ab405,_0x15bcee){this['namespace']=_0x3a9286,this['appId']=_0x3ab405,this['logger']=_0x15bcee;const _0x4a0867=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x3ab405,_0x4a0867),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x3ab405),this['cache']['getApps']();}['isSuccessful'](_0x4ec693){return _0x4ec693>0x0||_0x4ec693==='OK'||_0x4ec693===!![];}async['delistSignalKey'](_0x4adaee,_0x8a57fa){await this['storeClient'][this['commands']['del']](_0x4adaee+':'+_0x8a57fa);}async['zAdd'](_0x5de4cb,_0x34c0c3,_0x1bf374,_0x5d3781){return await(_0x5d3781||this['storeClient'])[this['commands']['zadd']](_0x5de4cb,_0x34c0c3,_0x1bf374);}async['zRangeByScoreWithScores'](_0x71c5f7,_0x37298e,_0x38c323){const _0x32b2ff=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x71c5f7,_0x37298e,_0x38c323,'WITHSCORES');if(_0x32b2ff?.['length']>0x0)return _0x32b2ff[0x0];return null;}async['zRangeByScore'](_0x3b9866,_0x147636,_0x554897){const _0x2a562c=await this['storeClient'][this['commands']['zrangebyscore']](_0x3b9866,_0x147636,_0x554897);if(_0x2a562c?.['length']>0x0)return _0x2a562c[0x0];return null;}['mintKey'](_0x25e176,_0x9876cf){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x25e176,_0x9876cf);}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x2c0d46,_0x359633=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x56e967=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x2c0d46}),_0x4feea1=await this['exec']('SET',_0x56e967,_0x2c0d46+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(_0x359633-0x1));return this['isSuccessful'](_0x4feea1);}async['releaseScoutRole'](_0x40636b){const _0x8d9098=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x40636b}),_0x411f2b=await this['exec']('DEL',_0x8d9098);return this['isSuccessful'](_0x411f2b);}async['getSettings'](_0xba67d4=![]){let _0x43cee6=this['cache']?.['getSettings']();if(_0x43cee6)return _0x43cee6;else{if(_0xba67d4){const _0x435c54=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x503578=_0x435c54['version']||'0.0.0';return _0x43cee6={'namespace':key_1['HMNS'],'version':_0x503578},await this['setSettings'](_0x43cee6),_0x43cee6;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x10d535){const _0x2a9dcc={},_0x411ee4=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x2a9dcc);return await this['storeClient'][this['commands']['hset']](_0x411ee4,_0x10d535);}async['reserveSymbolRange'](_0x3d41d6,_0x2af99b,_0x59bec8,_0x57dcfd=0x1){const _0x27e52c=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x43c697=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x3d41d6,'appId':this['appId']}),_0x3db28a=await this['storeClient'][this['commands']['hsetnx']](_0x27e52c,_0x3d41d6,'?:?');if(_0x3db28a){const _0x5a1f68=await this['storeClient'][this['commands']['hincrby']](_0x27e52c,':cursor',_0x2af99b),_0x5215e8=_0x5a1f68-_0x2af99b,_0x329092=_0x5215e8+':'+(_0x5a1f68-0x1);await this['storeClient'][this['commands']['hset']](_0x27e52c,_0x3d41d6,_0x329092);const _0x74115=this['seedSymbols'](_0x3d41d6,_0x59bec8,_0x5215e8);return await this['storeClient'][this['commands']['hset']](_0x43c697,_0x74115),[_0x5215e8+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x5a1f68-0x1,{}];}else{const _0x4f0c69=await this['storeClient'][this['commands']['hget']](_0x27e52c,_0x3d41d6),[_0x462a28]=_0x4f0c69['split'](':');if(_0x462a28==='?'){await(0x0,utils_1['sleepFor'])(_0x57dcfd*0x3e8);if(_0x57dcfd<0x5)return this['reserveSymbolRange'](_0x3d41d6,_0x2af99b,_0x59bec8,_0x57dcfd+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x77884e=parseInt(_0x462a28,0xa),_0x247939=await this['storeClient'][this['commands']['hgetall']](_0x43c697),_0x59adfa=Object['keys'](_0x247939)['length'],_0x4d9932=_0x77884e+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x59adfa,_0x12cb2e=Number(_0x77884e+_0x2af99b-0x1);return[_0x4d9932,_0x12cb2e,_0x247939];}}}async['getAllSymbols'](){const _0x3a9c7e=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x352b3a=await this['storeClient'][this['commands']['hgetall']](_0x3a9c7e),_0x26dbcc=Object['keys'](_0x352b3a)['sort']();delete _0x26dbcc[':cursor'];const _0x5d02cf=this['transact']();for(const _0x4a1677 of _0x26dbcc){const _0x4de6c3=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x4a1677,'appId':this['appId']});_0x5d02cf[this['commands']['hgetall']](_0x4de6c3);}const _0x24bfa0=await _0x5d02cf['exec'](),_0x39bc03={};return _0x24bfa0['forEach']((_0x5e866b,_0x220fcb)=>{if(_0x5e866b){let _0x3837c0;Array['isArray'](_0x5e866b)&&_0x5e866b['length']===0x2?_0x3837c0=_0x5e866b[0x1]:_0x3837c0=_0x5e866b;for(const [_0x4bd263,_0x110125]of Object['entries'](_0x3837c0)){_0x39bc03[_0x110125]=_0x4bd263['startsWith'](_0x26dbcc[_0x220fcb])?_0x4bd263:_0x26dbcc[_0x220fcb]+'/'+_0x4bd263;}}}),_0x39bc03;}async['getSymbols'](_0x56078e){let _0x231bb5=this['cache']['getSymbols'](this['appId'],_0x56078e);if(_0x231bb5)return _0x231bb5;else{const _0x43b965={'activityId':_0x56078e,'appId':this['appId']},_0x202676=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x43b965);return _0x231bb5=await this['storeClient'][this['commands']['hgetall']](_0x202676),this['cache']['setSymbols'](this['appId'],_0x56078e,_0x231bb5),_0x231bb5;}}async['addSymbols'](_0x169163,_0x4404a4){if(!_0x4404a4||!Object['keys'](_0x4404a4)['length'])return![];const _0x3995a7={'activityId':_0x169163,'appId':this['appId']},_0x3b107d=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x3995a7),_0x4fc1bf=await this['storeClient'][this['commands']['hset']](_0x3b107d,_0x4404a4);return this['cache']['deleteSymbols'](this['appId'],_0x169163),_0x4fc1bf>0x0;}['seedSymbols'](_0x3d0710,_0x1e4b5b,_0x1d5efa){if(_0x1e4b5b==='JOB')return this['seedJobSymbols'](_0x1d5efa);return this['seedActivitySymbols'](_0x1d5efa,_0x3d0710);}['seedJobSymbols'](_0x25a380){const _0xa407a={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x222e31=>{_0xa407a['metadata/'+_0x222e31]=(0x0,utils_1['getSymKey'])(_0x25a380),_0x25a380++;}),_0xa407a;}['seedActivitySymbols'](_0x4be61a,_0x3d9f4a){const _0xf0a88e={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x540cbf=>{_0xf0a88e[_0x3d9f4a+'/output/metadata/'+_0x540cbf]=(0x0,utils_1['getSymKey'])(_0x4be61a),_0x4be61a++;}),_0xf0a88e;}async['getSymbolValues'](){let _0x4909b6=this['cache']['getSymbolValues'](this['appId']);if(_0x4909b6)return _0x4909b6;else{const _0x4dd817=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x4909b6=await this['storeClient'][this['commands']['hgetall']](_0x4dd817),this['cache']['setSymbolValues'](this['appId'],_0x4909b6),_0x4909b6;}}async['addSymbolValues'](_0x998f4b){if(!_0x998f4b||!Object['keys'](_0x998f4b)['length'])return![];const _0x5a571b=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0xb7a62a=await this['storeClient'][this['commands']['hset']](_0x5a571b,_0x998f4b);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0xb7a62a);}async['getSymbolKeys'](_0x1720f4){const _0x4608a5=[];for(const _0x18fdc3 of _0x1720f4){_0x4608a5['push'](this['getSymbols'](_0x18fdc3));}const _0x382574=await Promise['all'](_0x4608a5),_0x15b777={};for(const _0x5ec6d3 of _0x1720f4){_0x15b777[_0x5ec6d3]=_0x382574['shift']();}return _0x15b777;}async['getApp'](_0x5da7fe,_0x11630c=![]){let _0x3ea90c=this['cache']['getApp'](_0x5da7fe);if(_0x11630c||!(_0x3ea90c&&Object['keys'](_0x3ea90c)['length']>0x0)){const _0x19f5b1={'appId':_0x5da7fe},_0x5b78b5=this['mintKey'](key_1['KeyType']['APP'],_0x19f5b1),_0x2def49=await this['storeClient'][this['commands']['hgetall']](_0x5b78b5);if(!_0x2def49)return null;_0x3ea90c={};for(const _0x1cd4cc in _0x2def49){try{_0x1cd4cc==='active'?_0x3ea90c[_0x1cd4cc]=_0x2def49[_0x1cd4cc]==='true':_0x3ea90c[_0x1cd4cc]=_0x2def49[_0x1cd4cc];}catch(_0x520fec){_0x3ea90c[_0x1cd4cc]=_0x2def49[_0x1cd4cc];}}this['cache']['setApp'](_0x5da7fe,_0x3ea90c);}return _0x3ea90c;}async['setApp'](_0xf66963,_0x202c86){const _0x214d7b={'appId':_0xf66963},_0x24bb44=this['mintKey'](key_1['KeyType']['APP'],_0x214d7b),_0x334ed5='versions/'+_0x202c86,_0xa4d2a5={'id':_0xf66963,'version':_0x202c86,[_0x334ed5]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x24bb44,_0xa4d2a5),this['cache']['setApp'](_0xf66963,_0xa4d2a5),_0xa4d2a5;}async['activateAppVersion'](_0x436cec,_0x2a79a0){const _0x514c1d={'appId':_0x436cec},_0x2e1de1=this['mintKey'](key_1['KeyType']['APP'],_0x514c1d),_0x579e9a='versions/'+_0x2a79a0,_0x16a007=await this['getApp'](_0x436cec,!![]);if(_0x16a007&&_0x16a007[_0x579e9a]){const _0x5de3ae={'id':_0x436cec,'version':_0x2a79a0['toString'](),[_0x579e9a]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x5de3ae)['forEach'](([_0x4c2a23,_0x5f199d])=>{_0x5de3ae[_0x4c2a23]=_0x5f199d['toString']();}),await this['storeClient'][this['commands']['hset']](_0x2e1de1,_0x5de3ae),!![];}throw new Error('Version\x20'+_0x2a79a0+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x436cec);}async['registerAppVersion'](_0x10bb31,_0x19b32c){const _0x2a94cc={'appId':_0x10bb31},_0x5990e3=this['mintKey'](key_1['KeyType']['APP'],_0x2a94cc),_0x1eec6f={'id':_0x10bb31,'version':_0x19b32c['toString'](),['versions/'+_0x19b32c]:(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x5990e3,_0x1eec6f);}async['setStats'](_0x1813fc,_0x1c37a2,_0x601a50,_0x3d18d8,_0x380d18,_0x3ec6a3){const _0x32e866={'appId':_0x380d18['id'],'jobId':_0x1c37a2,'jobKey':_0x1813fc,'dateTime':_0x601a50},_0x14e718=_0x3ec6a3||this['transact']();if(_0x3d18d8['general']['length']){const _0x2403c9=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x32e866);for(const {target:_0x13888a,value:_0x3cb1e9}of _0x3d18d8['general']){_0x14e718[this['commands']['hincrbyfloat']](_0x2403c9,_0x13888a,_0x3cb1e9);}}for(const {target:_0x12431a,value:_0x1f1fef}of _0x3d18d8['index']){const _0x10b3f6={..._0x32e866,'facet':_0x12431a},_0x51bbbd=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x10b3f6);_0x14e718[this['commands']['rpush']](_0x51bbbd,_0x1f1fef['toString']());}for(const {target:_0x41df24,value:_0x1d6c6b}of _0x3d18d8['median']){const _0x3e3fea={..._0x32e866,'facet':_0x41df24},_0x590f4c=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x3e3fea);this['zAdd'](_0x590f4c,_0x1d6c6b,_0x41df24,_0x14e718);}if(!_0x3ec6a3)return await _0x14e718['exec']();}['hGetAllResult'](_0x1787e8){return _0x1787e8;}async['getJobStats'](_0x2be5f2){const _0x2e6ef1=this['transact']();for(const _0x4e747e of _0x2be5f2){_0x2e6ef1[this['commands']['hgetall']](_0x4e747e);}const _0x4aac9d=await _0x2e6ef1['exec'](),_0x3da6d4={};for(const [_0x58fc0f,_0x2b876d]of _0x4aac9d['entries']()){const _0x50822a=_0x2be5f2[_0x58fc0f],_0x367d88=this['hGetAllResult'](_0x2b876d);if(_0x367d88&&Object['keys'](_0x367d88)['length']>0x0){const _0x5bef50={..._0x367d88};for(const [_0x220839,_0x4f3c67]of Object['entries'](_0x5bef50)){_0x5bef50[_0x220839]=Number(_0x4f3c67);}_0x3da6d4[_0x50822a]=_0x5bef50;}else _0x3da6d4[_0x50822a]={};}return _0x3da6d4;}async['getJobIds'](_0x318ef7,_0x2c4415){const _0x1fc390=this['transact']();for(const _0x3841b4 of _0x318ef7){_0x1fc390[this['commands']['lrange']](_0x3841b4,_0x2c4415[0x0],_0x2c4415[0x1]);}const _0x2d32ae=await _0x1fc390['exec'](),_0x23a9ac={};for(const [_0x4bbf0a,_0x157bbb]of _0x2d32ae['entries']()){const _0x5e6649=_0x318ef7[_0x4bbf0a],_0x63e267=_0x157bbb[0x1]||_0x157bbb;_0x63e267&&_0x63e267['length']>0x0?_0x23a9ac[_0x5e6649]=_0x63e267:_0x23a9ac[_0x5e6649]=[];}return _0x23a9ac;}async['setStatus'](_0x1611ab,_0x46dceb,_0x405dd5,_0xa37f85){const _0x34a0d1=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x405dd5,'jobId':_0x46dceb});return await(_0xa37f85||this['storeClient'])[this['commands']['hincrbyfloat']](_0x34a0d1,':',_0x1611ab);}async['getStatus'](_0x19142e,_0x1caebb){const _0x599fc9=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x1caebb,'jobId':_0x19142e}),_0x3b46fc=await this['storeClient'][this['commands']['hget']](_0x599fc9,':');if(_0x3b46fc===null)throw new Error('Job\x20'+_0x19142e+'\x20not\x20found');return Number(_0x3b46fc);}async['setState']({..._0x9689d3},_0x6e1b1d,_0x1b8212,_0x1a0d59,_0x5ce215,_0x50d19d){delete _0x9689d3['metadata/js'];const _0x2f6e8c=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1b8212}),_0x542bed=await this['getSymbolKeys'](_0x1a0d59),_0x3a30ae=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x542bed,_0x3a30ae,_0x5ce215);const _0x26ae15=this['serializer']['package'](_0x9689d3,_0x1a0d59);return _0x6e1b1d!==null?_0x26ae15[':']=_0x6e1b1d['toString']():delete _0x26ae15[':'],await(_0x50d19d||this['storeClient'])[this['commands']['hset']](_0x2f6e8c,_0x26ae15),_0x1b8212;}async['getQueryState'](_0x5a415f,_0x435dd1){const _0x34621e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5a415f}),_0x3da70d=_0x435dd1['map'](_0x53db0e=>{if(_0x53db0e['startsWith']('\x22'))return _0x53db0e['slice'](0x1,-0x1);return'_'+_0x53db0e;}),_0x3166ce=await this['storeClient'][this['commands']['hmget']](_0x34621e,_0x3da70d),_0x367f54={};return _0x435dd1['forEach']((_0xdb5e26,_0x841ed)=>{_0xdb5e26['startsWith']('\x22')&&(_0xdb5e26=_0xdb5e26['slice'](0x1,-0x1)),_0x367f54[_0xdb5e26]=_0x3166ce[_0x841ed];}),_0x367f54;}async['getState'](_0x4c746c,_0x2ad029,_0x26366d){const _0x46fe01=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4c746c}),_0x28aed1=Object['keys'](_0x2ad029),_0x2858f5=await this['getSymbolKeys'](_0x28aed1);this['serializer']['resetSymbols'](_0x2858f5,{},_0x26366d);const _0x594aae=this['serializer']['abbreviate'](_0x2ad029,_0x28aed1,[':']),_0x45e576=await this['storeClient'][this['commands']['hmget']](_0x46fe01,_0x594aae),_0x3f3b59={};let _0x2f93ce=![];_0x594aae['forEach']((_0x34b539,_0x29044d)=>{_0x45e576[_0x29044d]&&(_0x2f93ce=!![]),_0x3f3b59[_0x34b539]=_0x45e576[_0x29044d];});if(_0x2f93ce){const _0x3f9ad4=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x2858f5,_0x3f9ad4,_0x26366d);const _0x5efbb3=this['serializer']['unpackage'](_0x3f3b59,_0x28aed1);let _0x398f10=0x0;return _0x5efbb3[':']&&(_0x398f10=Number(_0x5efbb3[':']),_0x5efbb3['metadata/js']=_0x398f10,delete _0x5efbb3[':']),[_0x5efbb3,_0x398f10];}else throw new errors_1['GetStateError'](_0x4c746c);}async['getRaw'](_0xae3107){const _0x1787d2=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xae3107}),_0x5b2ce8=await this['storeClient'][this['commands']['hgetall']](_0x1787d2);if(!_0x5b2ce8)throw new errors_1['GetStateError'](_0xae3107);return _0x5b2ce8;}async['collate'](_0x41fab1,_0x422abc,_0x1e5bf2,_0xc2468c,_0x50bc30){const _0x4ead94=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x41fab1}),_0x55fd71=_0x422abc+'/output/metadata/as',_0x3846b5=[_0x422abc],_0x2e96f0=await this['getSymbolKeys'](_0x3846b5),_0x3d2102=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x2e96f0,_0x3d2102,_0xc2468c);const _0x5e0988={[_0x55fd71]:_0x1e5bf2['toString']()},_0x177f3e=this['serializer']['package'](_0x5e0988,_0x3846b5),_0x495728=Object['keys'](_0x177f3e)[0x0];return await(_0x50bc30||this['storeClient'])[this['commands']['hincrbyfloat']](_0x4ead94,_0x495728,_0x1e5bf2);}async['collateSynthetic'](_0x3548fe,_0x11d67b,_0x246eb9,_0x526d94){const _0x232d1b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3548fe});return await(_0x526d94||this['storeClient'])[this['commands']['hincrbyfloat']](_0x232d1b,_0x11d67b,_0x246eb9['toString']());}async['setStateNX'](_0x5a7fb6,_0x2dfe55,_0x4f5d6b){const _0x102707=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x2dfe55,'jobId':_0x5a7fb6}),_0x58fc81=await this['storeClient'][this['commands']['hsetnx']](_0x102707,':',_0x4f5d6b?.['toString']()??'1');return this['isSuccessful'](_0x58fc81);}async['getSchema'](_0x3c2358,_0x2f7661){const _0x4c03a1=this['cache']['getSchema'](_0x2f7661['id'],_0x2f7661['version'],_0x3c2358);if(_0x4c03a1)return _0x4c03a1;else{const _0x350249=await this['getSchemas'](_0x2f7661);return _0x350249[_0x3c2358];}}async['getSchemas'](_0x137205){let _0x4ec88e=this['cache']['getSchemas'](_0x137205['id'],_0x137205['version']);if(_0x4ec88e&&Object['keys'](_0x4ec88e)['length']>0x0)return _0x4ec88e;else{const _0x9c76e0={'appId':_0x137205['id'],'appVersion':_0x137205['version']},_0x5197c6=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x9c76e0);_0x4ec88e={};const _0x4da5e7=await this['storeClient'][this['commands']['hgetall']](_0x5197c6);return Object['entries'](_0x4da5e7)['forEach'](([_0x1df572,_0x55809d])=>{_0x4ec88e[_0x1df572]=JSON['parse'](_0x55809d);}),this['cache']['setSchemas'](_0x137205['id'],_0x137205['version'],_0x4ec88e),_0x4ec88e;}}async['setSchemas'](_0x5b66e0,_0x2d013c){const _0x131af4={'appId':_0x2d013c['id'],'appVersion':_0x2d013c['version']},_0x350764=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x131af4),_0x297db0={..._0x5b66e0};Object['entries'](_0x297db0)['forEach'](([_0x853622,_0x52ee41])=>{_0x297db0[_0x853622]=JSON['stringify'](_0x52ee41);});const _0x5d4340=await this['storeClient'][this['commands']['hset']](_0x350764,_0x297db0);return this['cache']['setSchemas'](_0x2d013c['id'],_0x2d013c['version'],_0x5b66e0),_0x5d4340;}async['setSubscriptions'](_0x49f5f2,_0x3195e1){const _0x577465={'appId':_0x3195e1['id'],'appVersion':_0x3195e1['version']},_0x56ce73=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x577465),_0x2054ec={..._0x49f5f2};Object['entries'](_0x2054ec)['forEach'](([_0x2908a2,_0x451ae9])=>{_0x2054ec[_0x2908a2]=JSON['stringify'](_0x451ae9);});const _0x22a5d5=await this['storeClient'][this['commands']['hset']](_0x56ce73,_0x2054ec);return this['cache']['setSubscriptions'](_0x3195e1['id'],_0x3195e1['version'],_0x49f5f2),this['isSuccessful'](_0x22a5d5);}async['getSubscriptions'](_0x4e84fc){let _0x574280=this['cache']['getSubscriptions'](_0x4e84fc['id'],_0x4e84fc['version']);if(_0x574280&&Object['keys'](_0x574280)['length']>0x0)return _0x574280;else{const _0x532925={'appId':_0x4e84fc['id'],'appVersion':_0x4e84fc['version']},_0x44c7f9=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x532925);return _0x574280=await this['storeClient'][this['commands']['hgetall']](_0x44c7f9)||{},Object['entries'](_0x574280)['forEach'](([_0x453d9d,_0x430c70])=>{_0x574280[_0x453d9d]=JSON['parse'](_0x430c70);}),this['cache']['setSubscriptions'](_0x4e84fc['id'],_0x4e84fc['version'],_0x574280),_0x574280;}}async['getSubscription'](_0x39103c,_0x2304df){const _0x3d0382=await this['getSubscriptions'](_0x2304df);return _0x3d0382[_0x39103c];}async['setTransitions'](_0x16c7b2,_0x21ed64){const _0x306dfd={'appId':_0x21ed64['id'],'appVersion':_0x21ed64['version']},_0x56afe7=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x306dfd),_0x59cb00={..._0x16c7b2};Object['entries'](_0x59cb00)['forEach'](([_0x44d117,_0x1037d6])=>{_0x59cb00[_0x44d117]=JSON['stringify'](_0x1037d6);});if(Object['keys'](_0x59cb00)['length']!==0x0){const _0x84b453=await this['storeClient'][this['commands']['hset']](_0x56afe7,_0x59cb00);return this['cache']['setTransitions'](_0x21ed64['id'],_0x21ed64['version'],_0x16c7b2),_0x84b453;}}async['getTransitions'](_0x269e6c){let _0x80ebbb=this['cache']['getTransitions'](_0x269e6c['id'],_0x269e6c['version']);if(_0x80ebbb&&Object['keys'](_0x80ebbb)['length']>0x0)return _0x80ebbb;else{const _0x54f3ee={'appId':_0x269e6c['id'],'appVersion':_0x269e6c['version']},_0x38132d=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x54f3ee);_0x80ebbb={};const _0x300a66=await this['storeClient'][this['commands']['hgetall']](_0x38132d);return Object['entries'](_0x300a66)['forEach'](([_0x3ccb9f,_0x3bfa85])=>{_0x80ebbb[_0x3ccb9f]=JSON['parse'](_0x3bfa85);}),this['cache']['setTransitions'](_0x269e6c['id'],_0x269e6c['version'],_0x80ebbb),_0x80ebbb;}}async['setHookRules'](_0x4efb4b){const _0x316169=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x207d5c={};Object['entries'](_0x4efb4b)['forEach'](([_0x282280,_0x6d3b6d])=>{_0x207d5c[_0x282280['toString']()]=JSON['stringify'](_0x6d3b6d);});if(Object['keys'](_0x207d5c)['length']!==0x0){const _0x2daf52=await this['storeClient'][this['commands']['hset']](_0x316169,_0x207d5c);return this['cache']['setHookRules'](this['appId'],_0x4efb4b),_0x2daf52;}}async['getHookRules'](){let _0x2ae352=this['cache']['getHookRules'](this['appId']);if(_0x2ae352&&Object['keys'](_0x2ae352)['length']>0x0)return _0x2ae352;else{const _0x489598=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x1f113b=await this['storeClient'][this['commands']['hgetall']](_0x489598);return _0x2ae352={},Object['entries'](_0x1f113b)['forEach'](([_0x17f8db,_0x2db5c8])=>{_0x2ae352[_0x17f8db]=JSON['parse'](_0x2db5c8);}),this['cache']['setHookRules'](this['appId'],_0x2ae352),_0x2ae352;}}async['setHookSignal'](_0x55d656,_0x33a1da){const _0x54d4b7=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x54c5ed,resolved:_0x490e8a,jobId:_0x362764}=_0x55d656,_0xd656db=_0x54c5ed+':'+_0x490e8a;await this['setnxex'](_0x54d4b7+':'+_0xd656db,_0x362764,Math['max'](_0x55d656['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x2afa49,_0x3f750e){const _0x5e9319=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x28a6b4=await this['storeClient'][this['commands']['get']](_0x5e9319+':'+_0x2afa49+':'+_0x3f750e);return _0x28a6b4?_0x28a6b4['toString']():undefined;}async['deleteHookSignal'](_0x3f135f,_0x2075df){const _0x2b77d5=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x25e585=await this['storeClient'][this['commands']['del']](_0x2b77d5+':'+_0x3f135f+':'+_0x2075df);return _0x25e585?Number(_0x25e585):undefined;}async['addTaskQueues'](_0x5d5528){const _0x522f97=this['transact'](),_0xed07c5=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x350cbb of _0x5d5528){_0x522f97[this['commands']['zadd']](_0xed07c5,{'score':Date['now']()['toString'](),'value':_0x350cbb},{'NX':!![]});}await _0x522f97['exec']();}async['getActiveTaskQueue'](){let _0x2c329e=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x2c329e){const _0x391e50=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x20d333=await this['storeClient'][this['commands']['zrange']](_0x391e50,0x0,0x0);_0x2c329e=_0x20d333['length']>0x0?_0x20d333[0x0]:null,_0x2c329e&&this['cache']['setWorkItem'](this['appId'],_0x2c329e);}return _0x2c329e;}async['deleteProcessedTaskQueue'](_0x267a6c,_0x25055f,_0xee23e1,_0x4b279a=![]){const _0x49f81a=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x478491=await this['storeClient'][this['commands']['zrem']](_0x49f81a,_0x267a6c);_0x478491&&(_0x4b279a?(this['storeClient'][this['commands']['expire']](_0xee23e1,0x0),this['storeClient'][this['commands']['expire']](_0x25055f['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['storeClient'][this['commands']['rename']](_0xee23e1,_0x25055f)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x3d3dff,_0x596756){return await this['storeClient'][this['commands']['lmove']](_0x3d3dff,_0x596756,'LEFT','RIGHT');}async['expireJob'](_0x37377d,_0x4e00b4,_0x4ba9f8){if(!isNaN(_0x4e00b4)&&_0x4e00b4>0x0){const _0x52a850=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x37377d});await(_0x4ba9f8||this['storeClient'])[this['commands']['expire']](_0x52a850,_0x4e00b4);}}async['getDependencies'](_0x1ef71a){const _0x52fc59={'appId':this['appId'],'jobId':_0x1ef71a},_0x923d34=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x52fc59);return this['storeClient'][this['commands']['lrange']](_0x923d34,0x0,-0x1);}async['registerTimeHook'](_0x2095bf,_0xf5b0fa,_0x3a4685,_0x4ad644,_0xe24862,_0x36ecca,_0x882082){const _0xad88fb=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0xe24862}),_0x268466=[_0x4ad644,_0x3a4685,_0xf5b0fa,_0x36ecca,_0x2095bf]['join'](key_1['VALSEP']),_0x44d9d7=await(_0x882082||this['storeClient'])[this['commands']['rpush']](_0xad88fb,_0x268466);if(_0x882082||_0x44d9d7===0x1){const _0x3b6866=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x3b6866,_0xe24862['toString'](),_0xad88fb,_0x882082);}}async['getNextTask'](_0xf7598b){const _0x352659=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0xf7598b=_0xf7598b||await this['zRangeByScore'](_0x352659,0x0,Date['now']());if(_0xf7598b){let [_0x37bbf6,_0xfe602]=this['resolveTaskKeyContext'](_0xf7598b);const _0x52f973=await this['storeClient'][this['commands']['lpop']](_0xfe602);if(_0x52f973){let [_0xa546e8,_0x36d64f,_0x524ead,_0x218594,..._0x99bdfa]=_0x52f973['split'](key_1['VALSEP']);const _0x4b94d8=_0x99bdfa['join'](key_1['VALSEP']);if(_0xa546e8==='delist')_0x37bbf6='delist';else{if(_0xa546e8==='child')_0x37bbf6='child';else _0xa546e8==='expire-child'&&(_0xa546e8='expire');}return[_0xf7598b,_0x4b94d8,_0x524ead,_0x36d64f,_0x37bbf6];}return await this['storeClient'][this['commands']['zrem']](_0x352659,_0xf7598b),!![];}return![];}['resolveTaskKeyContext'](_0x1ce60c){if(_0x1ce60c['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x1ce60c['split'](key_1['TYPSEP'])[0x2]];else return _0x1ce60c['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x1ce60c['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x1ce60c];}async['interrupt'](_0x5b1ecd,_0x3b46af,_0x4e9a7a={}){try{const _0x1ac3f6=await this['getStatus'](_0x3b46af,this['appId']);if(_0x1ac3f6<=0x0)throw new Error('Job\x20'+_0x3b46af+'\x20already\x20completed');const _0x2108df=-0x3b9aca00,_0x124b45=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3b46af}),_0x56d940=await this['storeClient'][this['commands']['hincrbyfloat']](_0x124b45,':',_0x2108df);if(_0x56d940<=_0x2108df)throw new Error('Job\x20'+_0x3b46af+'\x20already\x20completed');if(_0x4e9a7a['throw']!==![]){const _0x4d9a28='metadata/err',_0x4f1381=['$'+_0x5b1ecd],_0x3ea5a4=await this['getSymbolKeys'](_0x4f1381),_0x1523b8=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x3ea5a4,_0x1523b8,{});const _0x400d3b=JSON['stringify']({'code':_0x4e9a7a['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x4e9a7a['reason']??'job\x20['+_0x3b46af+']\x20interrupted','stack':_0x4e9a7a['stack']??'','job_id':_0x3b46af}),_0xc34dbd={[_0x4d9a28]:_0x2108df['toString']()},_0x49ee8e=this['serializer']['package'](_0xc34dbd,_0x4f1381),_0x19c37e=Object['keys'](_0x49ee8e)[0x0];await this['storeClient'][this['commands']['hset']](_0x124b45,_0x19c37e,_0x400d3b);}}catch(_0x3dc5d7){if(!_0x4e9a7a['suppress'])throw _0x3dc5d7;else this['logger']['debug']('suppressed-interrupt',{'message':_0x3dc5d7['message']});}}async['scrub'](_0x37896e){const _0x43df5a=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x37896e});await this['storeClient'][this['commands']['del']](_0x43df5a);}async['findJobs'](_0xb7c8ca='*',_0x261687=0x3e8,_0x3810c7=0x3e8,_0x44f77f='0'){const _0x50430b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xb7c8ca});let _0x36aa85;const _0x258155=[];do{const _0x5a6be2=await this['exec']('SCAN',_0x44f77f,'MATCH',_0x50430b,'COUNT',_0x3810c7['toString']());if(Array['isArray'](_0x5a6be2)){[_0x44f77f,_0x36aa85]=_0x5a6be2;for(const _0x1d5689 of[..._0x36aa85]){_0x258155['push'](_0x1d5689);}if(_0x258155['length']>=_0x261687)break;}else break;}while(_0x44f77f!=='0');return[_0x44f77f,_0x258155];}async['findJobFields'](_0x1c5ff7,_0x2bf3e1='*',_0xa464d2=0x3e8,_0x411f26=0x3e8,_0x24b6b3='0'){let _0x557c60=[];const _0x5cbd48={},_0x4829e6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1c5ff7});let _0x1e4a38=0x0;do{const _0x254610=await this['exec']('HSCAN',_0x4829e6,_0x24b6b3,'MATCH',_0x2bf3e1,'COUNT',_0x411f26['toString']());if(Array['isArray'](_0x254610)){[_0x24b6b3,_0x557c60]=_0x254610;for(let _0x33cf94=0x0;_0x33cf94<_0x557c60['length'];_0x33cf94+=0x2){_0x1e4a38++,_0x5cbd48[_0x557c60[_0x33cf94]]=_0x557c60[_0x33cf94+0x1];}}else break;}while(_0x24b6b3!=='0'&&_0x1e4a38<_0xa464d2);return[_0x24b6b3,_0x5cbd48];}async['setThrottleRate'](_0x530ee7){const _0x2e43c7=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x530ee7['guid'])return;const _0x49d8b1=_0x530ee7['throttle']['toString']();if(_0x530ee7['topic'])await this['storeClient'][this['commands']['hset']](_0x2e43c7,{[_0x530ee7['topic']]:_0x49d8b1});else{const _0x370454=this['transact']();_0x370454[this['commands']['del']](_0x2e43c7),_0x370454[this['commands']['hset']](_0x2e43c7,{':':_0x49d8b1}),await _0x370454['exec']();}}async['getThrottleRates'](){const _0x58af90=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x38c262=await this['storeClient'][this['commands']['hgetall']](_0x58af90);return _0x38c262??{};}async['getThrottleRate'](_0x340a9e){const _0x16ab40=(_0x4a144f,_0x3c8a8b)=>{const _0x37f270=_0x3c8a8b in _0x4a144f?Number(_0x4a144f[_0x3c8a8b]):0x0;if(isNaN(_0x37f270))return 0x0;if(_0x37f270==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x37f270,enums_1['MAX_DELAY']),0x0);},_0x14fb11=await this['getThrottleRates'](),_0x820a4c=_0x16ab40(_0x14fb11,':');if(_0x340a9e===':'||!(_0x340a9e in _0x14fb11))return _0x820a4c;return _0x16ab40(_0x14fb11,_0x340a9e);}}exports['RedisStoreBase']=RedisStoreBase;
|
|
1
|
+
'use strict';(function(_0x2445f6,_0x511d96){const _0x4b4e54=_0x3f28,_0x532b86=_0x2445f6();while(!![]){try{const _0x369a57=-parseInt(_0x4b4e54(0xc5))/0x1+parseInt(_0x4b4e54(0xc7))/0x2*(parseInt(_0x4b4e54(0xc4))/0x3)+-parseInt(_0x4b4e54(0xca))/0x4+parseInt(_0x4b4e54(0xcb))/0x5+parseInt(_0x4b4e54(0xc6))/0x6*(parseInt(_0x4b4e54(0xc8))/0x7)+-parseInt(_0x4b4e54(0xc9))/0x8+parseInt(_0x4b4e54(0xcc))/0x9;if(_0x369a57===_0x511d96)break;else _0x532b86['push'](_0x532b86['shift']());}catch(_0x44973e){_0x532b86['push'](_0x532b86['shift']());}}}(_0x509c,0x69f77));function _0x3f28(_0x4353b5,_0x58beee){const _0x509cb8=_0x509c();return _0x3f28=function(_0x3f28f7,_0x333955){_0x3f28f7=_0x3f28f7-0xc4;let _0x2660cc=_0x509cb8[_0x3f28f7];return _0x2660cc;},_0x3f28(_0x4353b5,_0x58beee);}function _0x509c(){const _0x4ad550=['766364OzTLcp','82716AouNGZ','2088caCaxN','301nBjttS','3984128qsSHbn','2493880ArhTrG','3136515lCtzJI','6787224vfLxuL','999WqYthB'];_0x509c=function(){return _0x4ad550;};return _0x509c();}var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3ced01,_0x273935,_0x34ae12,_0x23a430){if(_0x23a430===undefined)_0x23a430=_0x34ae12;var _0xd6a7af=Object['getOwnPropertyDescriptor'](_0x273935,_0x34ae12);(!_0xd6a7af||('get'in _0xd6a7af?!_0x273935['__esModule']:_0xd6a7af['writable']||_0xd6a7af['configurable']))&&(_0xd6a7af={'enumerable':!![],'get':function(){return _0x273935[_0x34ae12];}}),Object['defineProperty'](_0x3ced01,_0x23a430,_0xd6a7af);}:function(_0x179ca0,_0x1d7072,_0x3f2db5,_0x272cc4){if(_0x272cc4===undefined)_0x272cc4=_0x3f2db5;_0x179ca0[_0x272cc4]=_0x1d7072[_0x3f2db5];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3684ef,_0x5c266d){Object['defineProperty'](_0x3684ef,'default',{'enumerable':!![],'value':_0x5c266d});}:function(_0x170e4a,_0x856a32){_0x170e4a['default']=_0x856a32;}),__importStar=this&&this['__importStar']||function(_0x42e287){if(_0x42e287&&_0x42e287['__esModule'])return _0x42e287;var _0x5631ac={};if(_0x42e287!=null){for(var _0x5428cf in _0x42e287)if(_0x5428cf!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x42e287,_0x5428cf))__createBinding(_0x5631ac,_0x42e287,_0x5428cf);}return __setModuleDefault(_0x5631ac,_0x42e287),_0x5631ac;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreBase']=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require('../../../../modules/key'),serializer_1=require('../../../serializer'),utils_1=require('../../../../modules/utils'),enums_1=require('../../../../modules/enums'),cache_1=require('../../cache'),__1=require('../..');class RedisStoreBase extends __1['StoreService']{constructor(_0x4055cb){super(_0x4055cb),this['commands']={},this['storeClient']=_0x4055cb;}async['init'](_0x388cf4=key_1['HMNS'],_0x266c5d,_0x3832c7){this['namespace']=_0x388cf4,this['appId']=_0x266c5d,this['logger']=_0x3832c7;const _0x5c0abb=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x266c5d,_0x5c0abb),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x266c5d),this['cache']['getApps']();}['isSuccessful'](_0x229508){return _0x229508>0x0||_0x229508==='OK'||_0x229508===!![];}async['delistSignalKey'](_0x4892c1,_0x597a01){await this['storeClient'][this['commands']['del']](_0x4892c1+':'+_0x597a01);}async['zAdd'](_0x9ec546,_0x15eccd,_0x4b21fe,_0x111bfa){return await(_0x111bfa||this['storeClient'])[this['commands']['zadd']](_0x9ec546,_0x15eccd,_0x4b21fe);}async['zRangeByScore'](_0x5d72dc,_0x121067,_0x17ceb8){const _0x1319f5=await this['storeClient'][this['commands']['zrangebyscore']](_0x5d72dc,_0x121067,_0x17ceb8);if(_0x1319f5?.['length']>0x0)return _0x1319f5[0x0];return null;}['mintKey'](_0x4382fb,_0x128c4d){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x4382fb,_0x128c4d);}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x474d28,_0x58187a=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x133e0f=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x474d28}),_0x444d22=await this['exec']('SET',_0x133e0f,_0x474d28+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(_0x58187a-0x1));return this['isSuccessful'](_0x444d22);}async['releaseScoutRole'](_0x4cd013){const _0x50b13e=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x4cd013}),_0x27dea2=await this['exec']('DEL',_0x50b13e);return this['isSuccessful'](_0x27dea2);}async['getSettings'](_0x441523=![]){let _0x1d610d=this['cache']?.['getSettings']();if(_0x1d610d)return _0x1d610d;else{if(_0x441523){const _0x580c61=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x2a9dea=_0x580c61['version']||'0.0.0';return _0x1d610d={'namespace':key_1['HMNS'],'version':_0x2a9dea},await this['setSettings'](_0x1d610d),_0x1d610d;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x434b04){const _0x32e8cf={},_0x1e48db=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x32e8cf);return await this['storeClient'][this['commands']['hset']](_0x1e48db,_0x434b04);}async['reserveSymbolRange'](_0x3565b3,_0x1781e1,_0x27b7d2,_0x2ce57d=0x1){const _0x25dbe9=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0xe0f45=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x3565b3,'appId':this['appId']}),_0x48a3e7=await this['storeClient'][this['commands']['hsetnx']](_0x25dbe9,_0x3565b3,'?:?');if(_0x48a3e7){const _0xd1352d=await this['storeClient'][this['commands']['hincrby']](_0x25dbe9,':cursor',_0x1781e1),_0x5be93f=_0xd1352d-_0x1781e1,_0x490227=_0x5be93f+':'+(_0xd1352d-0x1);await this['storeClient'][this['commands']['hset']](_0x25dbe9,_0x3565b3,_0x490227);const _0x525a3=this['seedSymbols'](_0x3565b3,_0x27b7d2,_0x5be93f);return await this['storeClient'][this['commands']['hset']](_0xe0f45,_0x525a3),[_0x5be93f+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0xd1352d-0x1,{}];}else{const _0x1bce5c=await this['storeClient'][this['commands']['hget']](_0x25dbe9,_0x3565b3),[_0x5dee8a]=_0x1bce5c['split'](':');if(_0x5dee8a==='?'){await(0x0,utils_1['sleepFor'])(_0x2ce57d*0x3e8);if(_0x2ce57d<0x5)return this['reserveSymbolRange'](_0x3565b3,_0x1781e1,_0x27b7d2,_0x2ce57d+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x46e1ca=parseInt(_0x5dee8a,0xa),_0x205610=await this['storeClient'][this['commands']['hgetall']](_0xe0f45),_0x35dc58=Object['keys'](_0x205610)['length'],_0x5b9dbb=_0x46e1ca+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x35dc58,_0x1cf9be=Number(_0x46e1ca+_0x1781e1-0x1);return[_0x5b9dbb,_0x1cf9be,_0x205610];}}}async['getAllSymbols'](){const _0x58e3a2=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x3d080d=await this['storeClient'][this['commands']['hgetall']](_0x58e3a2),_0x261f95=Object['keys'](_0x3d080d)['sort']();delete _0x261f95[':cursor'];const _0x418eca=this['transact']();for(const _0xcc4dc5 of _0x261f95){const _0x403d77=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0xcc4dc5,'appId':this['appId']});_0x418eca[this['commands']['hgetall']](_0x403d77);}const _0x4e9ea3=await _0x418eca['exec'](),_0x132737={};return _0x4e9ea3['forEach']((_0x9b0011,_0x1d5a4c)=>{if(_0x9b0011){let _0x2a92fd;Array['isArray'](_0x9b0011)&&_0x9b0011['length']===0x2?_0x2a92fd=_0x9b0011[0x1]:_0x2a92fd=_0x9b0011;for(const [_0x390827,_0x3ebba3]of Object['entries'](_0x2a92fd)){_0x132737[_0x3ebba3]=_0x390827['startsWith'](_0x261f95[_0x1d5a4c])?_0x390827:_0x261f95[_0x1d5a4c]+'/'+_0x390827;}}}),_0x132737;}async['getSymbols'](_0x156ef0){let _0x4ad10d=this['cache']['getSymbols'](this['appId'],_0x156ef0);if(_0x4ad10d)return _0x4ad10d;else{const _0x1f9b81={'activityId':_0x156ef0,'appId':this['appId']},_0x142983=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x1f9b81);return _0x4ad10d=await this['storeClient'][this['commands']['hgetall']](_0x142983),this['cache']['setSymbols'](this['appId'],_0x156ef0,_0x4ad10d),_0x4ad10d;}}async['addSymbols'](_0x34f38c,_0x44a0b4){if(!_0x44a0b4||!Object['keys'](_0x44a0b4)['length'])return![];const _0x4e2fad={'activityId':_0x34f38c,'appId':this['appId']},_0x1ea6d9=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x4e2fad),_0x1dc04e=await this['storeClient'][this['commands']['hset']](_0x1ea6d9,_0x44a0b4);return this['cache']['deleteSymbols'](this['appId'],_0x34f38c),_0x1dc04e>0x0;}['seedSymbols'](_0x35a699,_0x5ebe05,_0x382540){if(_0x5ebe05==='JOB')return this['seedJobSymbols'](_0x382540);return this['seedActivitySymbols'](_0x382540,_0x35a699);}['seedJobSymbols'](_0x3e7b44){const _0x37f320={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x43c50d=>{_0x37f320['metadata/'+_0x43c50d]=(0x0,utils_1['getSymKey'])(_0x3e7b44),_0x3e7b44++;}),_0x37f320;}['seedActivitySymbols'](_0xa1aeb3,_0x3580c6){const _0x3064b2={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x368f06=>{_0x3064b2[_0x3580c6+'/output/metadata/'+_0x368f06]=(0x0,utils_1['getSymKey'])(_0xa1aeb3),_0xa1aeb3++;}),_0x3064b2;}async['getSymbolValues'](){let _0xb0673b=this['cache']['getSymbolValues'](this['appId']);if(_0xb0673b)return _0xb0673b;else{const _0x10cf0f=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0xb0673b=await this['storeClient'][this['commands']['hgetall']](_0x10cf0f),this['cache']['setSymbolValues'](this['appId'],_0xb0673b),_0xb0673b;}}async['addSymbolValues'](_0x340959){if(!_0x340959||!Object['keys'](_0x340959)['length'])return![];const _0x3e9856=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x38c62a=await this['storeClient'][this['commands']['hset']](_0x3e9856,_0x340959);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x38c62a);}async['getSymbolKeys'](_0x38a058){const _0x25dee1=[];for(const _0x1a76a3 of _0x38a058){_0x25dee1['push'](this['getSymbols'](_0x1a76a3));}const _0x556bf3=await Promise['all'](_0x25dee1),_0x5d6714={};for(const _0x45660a of _0x38a058){_0x5d6714[_0x45660a]=_0x556bf3['shift']();}return _0x5d6714;}async['getApp'](_0x133ae2,_0x1383c1=![]){let _0x5efbb6=this['cache']['getApp'](_0x133ae2);if(_0x1383c1||!(_0x5efbb6&&Object['keys'](_0x5efbb6)['length']>0x0)){const _0x516ce8={'appId':_0x133ae2},_0x4b6e17=this['mintKey'](key_1['KeyType']['APP'],_0x516ce8),_0x2ce430=await this['storeClient'][this['commands']['hgetall']](_0x4b6e17);if(!_0x2ce430)return null;_0x5efbb6={};for(const _0x225416 in _0x2ce430){try{_0x225416==='active'?_0x5efbb6[_0x225416]=_0x2ce430[_0x225416]==='true':_0x5efbb6[_0x225416]=_0x2ce430[_0x225416];}catch(_0x295d27){_0x5efbb6[_0x225416]=_0x2ce430[_0x225416];}}this['cache']['setApp'](_0x133ae2,_0x5efbb6);}return _0x5efbb6;}async['setApp'](_0x4bf34a,_0x240277){const _0x10b5f8={'appId':_0x4bf34a},_0x50bf9d=this['mintKey'](key_1['KeyType']['APP'],_0x10b5f8),_0x776177='versions/'+_0x240277,_0x19154a={'id':_0x4bf34a,'version':_0x240277,[_0x776177]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x50bf9d,_0x19154a),this['cache']['setApp'](_0x4bf34a,_0x19154a),_0x19154a;}async['activateAppVersion'](_0x5851e0,_0x5ad274){const _0x4c44cf={'appId':_0x5851e0},_0x2bb1b6=this['mintKey'](key_1['KeyType']['APP'],_0x4c44cf),_0x2b6da4='versions/'+_0x5ad274,_0xb00730=await this['getApp'](_0x5851e0,!![]);if(_0xb00730&&_0xb00730[_0x2b6da4]){const _0x4f43ba={'id':_0x5851e0,'version':_0x5ad274['toString'](),[_0x2b6da4]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x4f43ba)['forEach'](([_0x5d39f1,_0x3b9ed3])=>{_0x4f43ba[_0x5d39f1]=_0x3b9ed3['toString']();}),await this['storeClient'][this['commands']['hset']](_0x2bb1b6,_0x4f43ba),!![];}throw new Error('Version\x20'+_0x5ad274+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x5851e0);}async['registerAppVersion'](_0x4901d8,_0x23030d){const _0x32cafd={'appId':_0x4901d8},_0x23674f=this['mintKey'](key_1['KeyType']['APP'],_0x32cafd),_0x2d7919={'id':_0x4901d8,'version':_0x23030d['toString'](),['versions/'+_0x23030d]:(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x23674f,_0x2d7919);}async['setStats'](_0x3f6ebc,_0x4339dd,_0x2b14ec,_0x3b9000,_0x5ca87a,_0x2a150a){const _0x2d5d2b={'appId':_0x5ca87a['id'],'jobId':_0x4339dd,'jobKey':_0x3f6ebc,'dateTime':_0x2b14ec},_0x315a9e=_0x2a150a||this['transact']();if(_0x3b9000['general']['length']){const _0x208837=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x2d5d2b);for(const {target:_0x30699d,value:_0x5a8035}of _0x3b9000['general']){_0x315a9e[this['commands']['hincrbyfloat']](_0x208837,_0x30699d,_0x5a8035);}}for(const {target:_0x14093f,value:_0x5dfb74}of _0x3b9000['index']){const _0x5b00b1={..._0x2d5d2b,'facet':_0x14093f},_0xdfa7c=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x5b00b1);_0x315a9e[this['commands']['rpush']](_0xdfa7c,_0x5dfb74['toString']());}for(const {target:_0x184221,value:_0x448f52}of _0x3b9000['median']){const _0x5ee652={..._0x2d5d2b,'facet':_0x184221},_0x3d85a0=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x5ee652);this['zAdd'](_0x3d85a0,_0x448f52,_0x184221,_0x315a9e);}if(!_0x2a150a)return await _0x315a9e['exec']();}['hGetAllResult'](_0x30508e){return _0x30508e;}async['getJobStats'](_0xa11a5a){const _0x165795=this['transact']();for(const _0xd1f8c2 of _0xa11a5a){_0x165795[this['commands']['hgetall']](_0xd1f8c2);}const _0x3d47bb=await _0x165795['exec'](),_0x1b3b8d={};for(const [_0x25fccd,_0x2cb505]of _0x3d47bb['entries']()){const _0x26fbe5=_0xa11a5a[_0x25fccd],_0x3e159c=this['hGetAllResult'](_0x2cb505);if(_0x3e159c&&Object['keys'](_0x3e159c)['length']>0x0){const _0x24f551={..._0x3e159c};for(const [_0x5750b9,_0x2e9409]of Object['entries'](_0x24f551)){_0x24f551[_0x5750b9]=Number(_0x2e9409);}_0x1b3b8d[_0x26fbe5]=_0x24f551;}else _0x1b3b8d[_0x26fbe5]={};}return _0x1b3b8d;}async['getJobIds'](_0x75ef7f,_0x5ce306){const _0xa469bd=this['transact']();for(const _0x534f2b of _0x75ef7f){_0xa469bd[this['commands']['lrange']](_0x534f2b,_0x5ce306[0x0],_0x5ce306[0x1]);}const _0x56abbe=await _0xa469bd['exec'](),_0x446af1={};for(const [_0x3e285b,_0x5b54ed]of _0x56abbe['entries']()){const _0x3defe2=_0x75ef7f[_0x3e285b],_0x2f5e40=_0x5b54ed[0x1]||_0x5b54ed;_0x2f5e40&&_0x2f5e40['length']>0x0?_0x446af1[_0x3defe2]=_0x2f5e40:_0x446af1[_0x3defe2]=[];}return _0x446af1;}async['setStatus'](_0x45997c,_0x2754a0,_0x81524b,_0x384192){const _0x543786=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x81524b,'jobId':_0x2754a0});return await(_0x384192||this['storeClient'])[this['commands']['hincrbyfloat']](_0x543786,':',_0x45997c);}async['getStatus'](_0x2bbefb,_0x5f0249){const _0x5e4383=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x5f0249,'jobId':_0x2bbefb}),_0x4ab90a=await this['storeClient'][this['commands']['hget']](_0x5e4383,':');if(_0x4ab90a===null)throw new Error('Job\x20'+_0x2bbefb+'\x20not\x20found');return Number(_0x4ab90a);}async['setState']({..._0x1698a0},_0x1b22c,_0x547e29,_0x4afca5,_0x3b06ac,_0x12cd11){delete _0x1698a0['metadata/js'];const _0x2a54e7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x547e29}),_0x51eea4=await this['getSymbolKeys'](_0x4afca5),_0x2671d8=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x51eea4,_0x2671d8,_0x3b06ac);const _0x5c357e=this['serializer']['package'](_0x1698a0,_0x4afca5);return _0x1b22c!==null?_0x5c357e[':']=_0x1b22c['toString']():delete _0x5c357e[':'],await(_0x12cd11||this['storeClient'])[this['commands']['hset']](_0x2a54e7,_0x5c357e),_0x547e29;}async['getQueryState'](_0x158702,_0x4a5755){const _0x38545d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x158702}),_0x1d95a3=_0x4a5755['map'](_0x13be1d=>{if(_0x13be1d['startsWith']('\x22'))return _0x13be1d['slice'](0x1,-0x1);return'_'+_0x13be1d;}),_0x5b7173=await this['storeClient'][this['commands']['hmget']](_0x38545d,_0x1d95a3),_0x2e0ad7={};return _0x4a5755['forEach']((_0x4ae88b,_0x1fb5d2)=>{_0x4ae88b['startsWith']('\x22')&&(_0x4ae88b=_0x4ae88b['slice'](0x1,-0x1)),_0x2e0ad7[_0x4ae88b]=_0x5b7173[_0x1fb5d2];}),_0x2e0ad7;}async['getState'](_0x486ad9,_0x595fd4,_0x4d75a0){const _0x1fe497=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x486ad9}),_0x12c6f3=Object['keys'](_0x595fd4),_0x489784=await this['getSymbolKeys'](_0x12c6f3);this['serializer']['resetSymbols'](_0x489784,{},_0x4d75a0);const _0x3ec040=this['serializer']['abbreviate'](_0x595fd4,_0x12c6f3,[':']),_0x146801=await this['storeClient'][this['commands']['hmget']](_0x1fe497,_0x3ec040),_0x16f1b3={};let _0x25d588=![];_0x3ec040['forEach']((_0x57b542,_0x156650)=>{_0x146801[_0x156650]&&(_0x25d588=!![]),_0x16f1b3[_0x57b542]=_0x146801[_0x156650];});if(_0x25d588){const _0x2225ed=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x489784,_0x2225ed,_0x4d75a0);const _0x45c87a=this['serializer']['unpackage'](_0x16f1b3,_0x12c6f3);let _0x5f2ee7=0x0;return _0x45c87a[':']&&(_0x5f2ee7=Number(_0x45c87a[':']),_0x45c87a['metadata/js']=_0x5f2ee7,delete _0x45c87a[':']),[_0x45c87a,_0x5f2ee7];}else throw new errors_1['GetStateError'](_0x486ad9);}async['getRaw'](_0x3eb7cc){const _0x5449dd=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3eb7cc}),_0x28789b=await this['storeClient'][this['commands']['hgetall']](_0x5449dd);if(!_0x28789b)throw new errors_1['GetStateError'](_0x3eb7cc);return _0x28789b;}async['collate'](_0x5e034e,_0x42c52c,_0x38259b,_0x203c02,_0x4fbc10){const _0x10df7b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5e034e}),_0x24c918=_0x42c52c+'/output/metadata/as',_0x1b9de8=[_0x42c52c],_0x1d1747=await this['getSymbolKeys'](_0x1b9de8),_0x253387=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x1d1747,_0x253387,_0x203c02);const _0x1d4b3a={[_0x24c918]:_0x38259b['toString']()},_0x409e9c=this['serializer']['package'](_0x1d4b3a,_0x1b9de8),_0x6b2f0f=Object['keys'](_0x409e9c)[0x0];return await(_0x4fbc10||this['storeClient'])[this['commands']['hincrbyfloat']](_0x10df7b,_0x6b2f0f,_0x38259b);}async['collateSynthetic'](_0x223683,_0x2b23f1,_0x2c2db6,_0x1dc698){const _0x3a6171=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x223683});return await(_0x1dc698||this['storeClient'])[this['commands']['hincrbyfloat']](_0x3a6171,_0x2b23f1,_0x2c2db6['toString']());}async['setStateNX'](_0x2b0995,_0x441102,_0x57835d){const _0x1c6829=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x441102,'jobId':_0x2b0995}),_0x297d85=await this['storeClient'][this['commands']['hsetnx']](_0x1c6829,':',_0x57835d?.['toString']()??'1');return this['isSuccessful'](_0x297d85);}async['getSchema'](_0x9f3ebd,_0x4a6f73){const _0x4e9d7b=this['cache']['getSchema'](_0x4a6f73['id'],_0x4a6f73['version'],_0x9f3ebd);if(_0x4e9d7b)return _0x4e9d7b;else{const _0x3ad393=await this['getSchemas'](_0x4a6f73);return _0x3ad393[_0x9f3ebd];}}async['getSchemas'](_0x1c09e9){let _0x71e3dd=this['cache']['getSchemas'](_0x1c09e9['id'],_0x1c09e9['version']);if(_0x71e3dd&&Object['keys'](_0x71e3dd)['length']>0x0)return _0x71e3dd;else{const _0xc9ac9={'appId':_0x1c09e9['id'],'appVersion':_0x1c09e9['version']},_0x1e0dee=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0xc9ac9);_0x71e3dd={};const _0x168b76=await this['storeClient'][this['commands']['hgetall']](_0x1e0dee);return Object['entries'](_0x168b76)['forEach'](([_0x484c63,_0x1c0519])=>{_0x71e3dd[_0x484c63]=JSON['parse'](_0x1c0519);}),this['cache']['setSchemas'](_0x1c09e9['id'],_0x1c09e9['version'],_0x71e3dd),_0x71e3dd;}}async['setSchemas'](_0xc40e94,_0x40951e){const _0x3d5d2a={'appId':_0x40951e['id'],'appVersion':_0x40951e['version']},_0x5196dc=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x3d5d2a),_0x3192f6={..._0xc40e94};Object['entries'](_0x3192f6)['forEach'](([_0x41f785,_0x1014ad])=>{_0x3192f6[_0x41f785]=JSON['stringify'](_0x1014ad);});const _0x12559b=await this['storeClient'][this['commands']['hset']](_0x5196dc,_0x3192f6);return this['cache']['setSchemas'](_0x40951e['id'],_0x40951e['version'],_0xc40e94),_0x12559b;}async['setSubscriptions'](_0x33258d,_0xf181e7){const _0x331850={'appId':_0xf181e7['id'],'appVersion':_0xf181e7['version']},_0x2a593b=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x331850),_0xb71a7={..._0x33258d};Object['entries'](_0xb71a7)['forEach'](([_0x4ed34c,_0x150867])=>{_0xb71a7[_0x4ed34c]=JSON['stringify'](_0x150867);});const _0x53046a=await this['storeClient'][this['commands']['hset']](_0x2a593b,_0xb71a7);return this['cache']['setSubscriptions'](_0xf181e7['id'],_0xf181e7['version'],_0x33258d),this['isSuccessful'](_0x53046a);}async['getSubscriptions'](_0x4ddf8e){let _0x1b59f7=this['cache']['getSubscriptions'](_0x4ddf8e['id'],_0x4ddf8e['version']);if(_0x1b59f7&&Object['keys'](_0x1b59f7)['length']>0x0)return _0x1b59f7;else{const _0x446607={'appId':_0x4ddf8e['id'],'appVersion':_0x4ddf8e['version']},_0x3ada3b=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x446607);return _0x1b59f7=await this['storeClient'][this['commands']['hgetall']](_0x3ada3b)||{},Object['entries'](_0x1b59f7)['forEach'](([_0x3f249e,_0x4f17e2])=>{_0x1b59f7[_0x3f249e]=JSON['parse'](_0x4f17e2);}),this['cache']['setSubscriptions'](_0x4ddf8e['id'],_0x4ddf8e['version'],_0x1b59f7),_0x1b59f7;}}async['getSubscription'](_0x12a7f2,_0x567452){const _0x5158b6=await this['getSubscriptions'](_0x567452);return _0x5158b6[_0x12a7f2];}async['setTransitions'](_0x4f59c6,_0x3152f1){const _0x3d9873={'appId':_0x3152f1['id'],'appVersion':_0x3152f1['version']},_0x1164e6=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x3d9873),_0x4596f1={..._0x4f59c6};Object['entries'](_0x4596f1)['forEach'](([_0x36a1e1,_0x528680])=>{_0x4596f1[_0x36a1e1]=JSON['stringify'](_0x528680);});if(Object['keys'](_0x4596f1)['length']!==0x0){const _0x516612=await this['storeClient'][this['commands']['hset']](_0x1164e6,_0x4596f1);return this['cache']['setTransitions'](_0x3152f1['id'],_0x3152f1['version'],_0x4f59c6),_0x516612;}}async['getTransitions'](_0x4650de){let _0x15d547=this['cache']['getTransitions'](_0x4650de['id'],_0x4650de['version']);if(_0x15d547&&Object['keys'](_0x15d547)['length']>0x0)return _0x15d547;else{const _0x1f232c={'appId':_0x4650de['id'],'appVersion':_0x4650de['version']},_0x18b565=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x1f232c);_0x15d547={};const _0x21d57b=await this['storeClient'][this['commands']['hgetall']](_0x18b565);return Object['entries'](_0x21d57b)['forEach'](([_0x16356e,_0x5226a5])=>{_0x15d547[_0x16356e]=JSON['parse'](_0x5226a5);}),this['cache']['setTransitions'](_0x4650de['id'],_0x4650de['version'],_0x15d547),_0x15d547;}}async['setHookRules'](_0x3ab5fd){const _0x1cc34e=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x12d856={};Object['entries'](_0x3ab5fd)['forEach'](([_0x3416d2,_0x55fd89])=>{_0x12d856[_0x3416d2['toString']()]=JSON['stringify'](_0x55fd89);});if(Object['keys'](_0x12d856)['length']!==0x0){const _0x109f13=await this['storeClient'][this['commands']['hset']](_0x1cc34e,_0x12d856);return this['cache']['setHookRules'](this['appId'],_0x3ab5fd),_0x109f13;}}async['getHookRules'](){let _0x5c3543=this['cache']['getHookRules'](this['appId']);if(_0x5c3543&&Object['keys'](_0x5c3543)['length']>0x0)return _0x5c3543;else{const _0x3e5a17=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x5c01da=await this['storeClient'][this['commands']['hgetall']](_0x3e5a17);return _0x5c3543={},Object['entries'](_0x5c01da)['forEach'](([_0x2e6403,_0x1f6f09])=>{_0x5c3543[_0x2e6403]=JSON['parse'](_0x1f6f09);}),this['cache']['setHookRules'](this['appId'],_0x5c3543),_0x5c3543;}}async['setHookSignal'](_0x3bdd8a,_0x1960d5){const _0x151e2a=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x1bead1,resolved:_0x154dd2,jobId:_0x214745}=_0x3bdd8a,_0x3ece53=_0x1bead1+':'+_0x154dd2;await this['setnxex'](_0x151e2a+':'+_0x3ece53,_0x214745,Math['max'](_0x3bdd8a['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x2cdec2,_0x1cac73){const _0x4be6b9=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x28b8c2=await this['storeClient'][this['commands']['get']](_0x4be6b9+':'+_0x2cdec2+':'+_0x1cac73);return _0x28b8c2?_0x28b8c2['toString']():undefined;}async['deleteHookSignal'](_0x15ba54,_0x23a836){const _0x185107=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x321e4c=await this['storeClient'][this['commands']['del']](_0x185107+':'+_0x15ba54+':'+_0x23a836);return _0x321e4c?Number(_0x321e4c):undefined;}async['addTaskQueues'](_0x914f93){const _0x18d46f=this['transact'](),_0x536873=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x31313c of _0x914f93){_0x18d46f[this['commands']['zadd']](_0x536873,{'score':Date['now']()['toString'](),'value':_0x31313c},{'NX':!![]});}await _0x18d46f['exec']();}async['getActiveTaskQueue'](){let _0x3107fd=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x3107fd){const _0x5e5019=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x51c17f=await this['storeClient'][this['commands']['zrange']](_0x5e5019,0x0,0x0);_0x3107fd=_0x51c17f['length']>0x0?_0x51c17f[0x0]:null,_0x3107fd&&this['cache']['setWorkItem'](this['appId'],_0x3107fd);}return _0x3107fd;}async['deleteProcessedTaskQueue'](_0xe933de,_0x530f1b,_0x1cb47d,_0x301aa0=![]){const _0x1abbfd=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x42f1fc=await this['storeClient'][this['commands']['zrem']](_0x1abbfd,_0xe933de);_0x42f1fc&&(_0x301aa0?(this['storeClient'][this['commands']['expire']](_0x1cb47d,0x0),this['storeClient'][this['commands']['expire']](_0x530f1b['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['storeClient'][this['commands']['rename']](_0x1cb47d,_0x530f1b)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x4d0049,_0x428bea){return await this['storeClient'][this['commands']['lmove']](_0x4d0049,_0x428bea,'LEFT','RIGHT');}async['expireJob'](_0x1ee886,_0x310759,_0x2d4fa5){if(!isNaN(_0x310759)&&_0x310759>0x0){const _0xb7742d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1ee886});await(_0x2d4fa5||this['storeClient'])[this['commands']['expire']](_0xb7742d,_0x310759);}}async['getDependencies'](_0x3b3cdf){const _0x275022={'appId':this['appId'],'jobId':_0x3b3cdf},_0x653d1b=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x275022);return this['storeClient'][this['commands']['lrange']](_0x653d1b,0x0,-0x1);}async['registerTimeHook'](_0xaac5c4,_0x387817,_0x34784f,_0x35ba67,_0x35a60a,_0x5013f7,_0x63ed67){const _0x5649a5=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x35a60a}),_0x42a9cc=[_0x35ba67,_0x34784f,_0x387817,_0x5013f7,_0xaac5c4]['join'](key_1['VALSEP']),_0x4a3de0=await(_0x63ed67||this['storeClient'])[this['commands']['rpush']](_0x5649a5,_0x42a9cc);if(_0x63ed67||_0x4a3de0===0x1){const _0x68565=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x68565,_0x35a60a['toString'](),_0x5649a5,_0x63ed67);}}async['getNextTask'](_0x3aec7b){const _0x192c41=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x3aec7b=_0x3aec7b||await this['zRangeByScore'](_0x192c41,0x0,Date['now']());if(_0x3aec7b){let [_0x4ab61b,_0x6f68d2]=this['resolveTaskKeyContext'](_0x3aec7b);const _0x29f0ac=await this['storeClient'][this['commands']['lpop']](_0x6f68d2);if(_0x29f0ac){let [_0x10431f,_0x51662a,_0x377fcd,_0x4368ab,..._0x28175a]=_0x29f0ac['split'](key_1['VALSEP']);const _0x519e14=_0x28175a['join'](key_1['VALSEP']);if(_0x10431f==='delist')_0x4ab61b='delist';else{if(_0x10431f==='child')_0x4ab61b='child';else _0x10431f==='expire-child'&&(_0x10431f='expire');}return[_0x3aec7b,_0x519e14,_0x377fcd,_0x51662a,_0x4ab61b];}return await this['storeClient'][this['commands']['zrem']](_0x192c41,_0x3aec7b),!![];}return![];}['resolveTaskKeyContext'](_0xcae90a){if(_0xcae90a['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0xcae90a['split'](key_1['TYPSEP'])[0x2]];else return _0xcae90a['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0xcae90a['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0xcae90a];}async['interrupt'](_0xaaa9db,_0x5200ea,_0x5db4c0={}){try{const _0x39e731=await this['getStatus'](_0x5200ea,this['appId']);if(_0x39e731<=0x0)throw new Error('Job\x20'+_0x5200ea+'\x20already\x20completed');const _0x2b03fc=-0x3b9aca00,_0x598314=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5200ea}),_0x3e6c25=await this['storeClient'][this['commands']['hincrbyfloat']](_0x598314,':',_0x2b03fc);if(_0x3e6c25<=_0x2b03fc)throw new Error('Job\x20'+_0x5200ea+'\x20already\x20completed');if(_0x5db4c0['throw']!==![]){const _0x20df28='metadata/err',_0x235b6b=['$'+_0xaaa9db],_0x238242=await this['getSymbolKeys'](_0x235b6b),_0x42a845=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x238242,_0x42a845,{});const _0x49d438=JSON['stringify']({'code':_0x5db4c0['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x5db4c0['reason']??'job\x20['+_0x5200ea+']\x20interrupted','stack':_0x5db4c0['stack']??'','job_id':_0x5200ea}),_0x668c={[_0x20df28]:_0x2b03fc['toString']()},_0x53f0b2=this['serializer']['package'](_0x668c,_0x235b6b),_0x465464=Object['keys'](_0x53f0b2)[0x0];await this['storeClient'][this['commands']['hset']](_0x598314,_0x465464,_0x49d438);}}catch(_0x5bb75c){if(!_0x5db4c0['suppress'])throw _0x5bb75c;else this['logger']['debug']('suppressed-interrupt',{'message':_0x5bb75c['message']});}}async['scrub'](_0x866642){const _0x5e90c3=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x866642});await this['storeClient'][this['commands']['del']](_0x5e90c3);}async['findJobs'](_0x583c53='*',_0x5e0833=0x3e8,_0x3c9fa9=0x3e8,_0x278f8d='0'){const _0x4fc7d7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x583c53});let _0x3347c;const _0xba1918=[];do{const _0x16da27=await this['exec']('SCAN',_0x278f8d,'MATCH',_0x4fc7d7,'COUNT',_0x3c9fa9['toString']());if(Array['isArray'](_0x16da27)){[_0x278f8d,_0x3347c]=_0x16da27;for(const _0xedc37c of[..._0x3347c]){_0xba1918['push'](_0xedc37c);}if(_0xba1918['length']>=_0x5e0833)break;}else break;}while(_0x278f8d!=='0');return[_0x278f8d,_0xba1918];}async['findJobFields'](_0x2d51bc,_0x3b0e63='*',_0x5e55ec=0x3e8,_0x2ed924=0x3e8,_0x39ee6a='0'){let _0x322124=[];const _0x15250c={},_0x4c5d40=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2d51bc});let _0x10ca55=0x0;do{const _0x143069=await this['exec']('HSCAN',_0x4c5d40,_0x39ee6a,'MATCH',_0x3b0e63,'COUNT',_0x2ed924['toString']());if(Array['isArray'](_0x143069)){[_0x39ee6a,_0x322124]=_0x143069;for(let _0x1c55df=0x0;_0x1c55df<_0x322124['length'];_0x1c55df+=0x2){_0x10ca55++,_0x15250c[_0x322124[_0x1c55df]]=_0x322124[_0x1c55df+0x1];}}else break;}while(_0x39ee6a!=='0'&&_0x10ca55<_0x5e55ec);return[_0x39ee6a,_0x15250c];}async['setThrottleRate'](_0x5accc6){const _0x55ae4e=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x5accc6['guid'])return;const _0x518199=_0x5accc6['throttle']['toString']();if(_0x5accc6['topic'])await this['storeClient'][this['commands']['hset']](_0x55ae4e,{[_0x5accc6['topic']]:_0x518199});else{const _0x2aa017=this['transact']();_0x2aa017[this['commands']['del']](_0x55ae4e),_0x2aa017[this['commands']['hset']](_0x55ae4e,{':':_0x518199}),await _0x2aa017['exec']();}}async['getThrottleRates'](){const _0x5343b3=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x3e05c1=await this['storeClient'][this['commands']['hgetall']](_0x5343b3);return _0x3e05c1??{};}async['getThrottleRate'](_0x406aab){const _0x5b30fd=(_0x1fc724,_0x427fc4)=>{const _0x53cac1=_0x427fc4 in _0x1fc724?Number(_0x1fc724[_0x427fc4]):0x0;if(isNaN(_0x53cac1))return 0x0;if(_0x53cac1==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x53cac1,enums_1['MAX_DELAY']),0x0);},_0x3ed1b1=await this['getThrottleRates'](),_0xf82923=_0x5b30fd(_0x3ed1b1,':');if(_0x406aab===':'||!(_0x406aab in _0x3ed1b1))return _0xf82923;return _0x5b30fd(_0x3ed1b1,_0x406aab);}}exports['RedisStoreBase']=RedisStoreBase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x4b68cb,_0x5d25e0){const _0x1e92c5=_0x5ead,_0x4b57ab=_0x4b68cb();while(!![]){try{const _0x32ac12=-parseInt(_0x1e92c5(0xe5))/0x1*(parseInt(_0x1e92c5(0xe3))/0x2)+parseInt(_0x1e92c5(0xe7))/0x3*(parseInt(_0x1e92c5(0xe4))/0x4)+-parseInt(_0x1e92c5(0xe8))/0x5*(-parseInt(_0x1e92c5(0xe2))/0x6)+parseInt(_0x1e92c5(0xe9))/0x7+parseInt(_0x1e92c5(0xeb))/0x8+-parseInt(_0x1e92c5(0xe6))/0x9*(-parseInt(_0x1e92c5(0xea))/0xa)+-parseInt(_0x1e92c5(0xe1))/0xb;if(_0x32ac12===_0x5d25e0)break;else _0x4b57ab['push'](_0x4b57ab['shift']());}catch(_0x222855){_0x4b57ab['push'](_0x4b57ab['shift']());}}}(_0x349f,0x52be8));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStoreService']=void 0x0;function _0x5ead(_0x476d75,_0x1c9d37){const _0x349fe3=_0x349f();return _0x5ead=function(_0x5eadf5,_0xc26fd8){_0x5eadf5=_0x5eadf5-0xe1;let _0x5c4cde=_0x349fe3[_0x5eadf5];return _0x5c4cde;},_0x5ead(_0x476d75,_0x1c9d37);}const key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),_base_1=require('./_base');class IORedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x2905c9){super(_0x2905c9),this['commands']={'get':'get','set':'set','setnx':'setnx','del':'del','expire':'expire','hset':'hset','hscan':'hscan','hsetnx':'hsetnx','hincrby':'hincrby','hdel':'hdel','hget':'hget','hmget':'hmget','hgetall':'hgetall','hincrbyfloat':'hincrbyfloat','zrank':'zrank','zrange':'zrange','zrangebyscore_withscores':'zrangebyscore','zrangebyscore':'zrangebyscore','zrem':'zrem','zadd':'zadd','lmove':'lmove','lpop':'lpop','lrange':'lrange','rename':'rename','rpush':'rpush','scan':'scan','xack':'xack','xdel':'xdel'};}['transact'](){const _0x9afe2d=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x334abb=[],_0x25ba64=(_0x2fa99d,_0x41dfd3)=>{return _0x334abb['push']({'command':_0x2fa99d,'args':_0x41dfd3}),_0x4e1fdb;},_0x4e1fdb={'sendCommand'(_0x33e9a9){return _0x9afe2d['storeClient']['sendCommand'](_0x33e9a9);},async 'exec'(){if(_0x334abb['length']===0x0)return[];const _0x9237da=_0x334abb['every'](_0x100618=>{return _0x100618['args'][0x0]===_0x334abb[0x0]['args'][0x0];});if(_0x9237da){const _0x9611b=_0x9afe2d['storeClient']['multi']();_0x334abb['forEach'](_0x12ab6f=>_0x9611b[_0x12ab6f['command']](..._0x12ab6f['args']));const _0xaec6a0=await _0x9611b['exec']();return _0xaec6a0['map'](_0x5a427d=>_0x5a427d);}else return Promise['all'](_0x334abb['map'](_0x403ea8=>_0x9afe2d['storeClient'][_0x403ea8['command']](..._0x403ea8['args'])));},'xadd'(_0x3f1f68,_0xaaf48a,_0x1218a7,_0x25b6db){return _0x25ba64('xadd',[_0x3f1f68,_0xaaf48a,_0x1218a7,_0x25b6db]);},'xack'(_0x55066b,_0x3a530a,_0x172dc6){return _0x25ba64('xack',[_0x55066b,_0x3a530a,_0x172dc6]);},'xdel'(_0xfe8c78,_0x186cd6){return _0x25ba64('xdel',[_0xfe8c78,_0x186cd6]);},'xlen'(_0x2a93ee){return _0x25ba64('xlen',[_0x2a93ee]);},'xpending'(_0x2b9cdd,_0x3c44c3,_0x581eea,_0x4efcc3,_0x5b4b14,_0x249490){return _0x25ba64('xpending',[_0x2b9cdd,_0x3c44c3,_0x581eea,_0x4efcc3,_0x5b4b14,_0x249490]);},'xclaim'(_0x2a9868,_0x18ed68,_0xf18f96,_0x201696,_0x14cf89,..._0x27d362){return _0x25ba64('xclaim',[_0x2a9868,_0x18ed68,_0xf18f96,_0x201696,_0x14cf89,..._0x27d362]);},'del'(_0x190d89){return _0x25ba64('del',[_0x190d89]);},'expire':function(_0x55af6a,_0x192e04){return _0x25ba64('expire',[_0x55af6a,_0x192e04]);},'hdel'(_0x1437e8,_0x1d2986){return _0x25ba64('hdel',[_0x1437e8,_0x1d2986]);},'hget'(_0x511ede,_0x5585fc){return _0x25ba64('hget',[_0x511ede,_0x5585fc]);},'hgetall'(_0x2cdf6c){return _0x25ba64('hgetall',[_0x2cdf6c]);},'hincrbyfloat'(_0x16384e,_0xe5ac67,_0x204165){return _0x25ba64('hincrbyfloat',[_0x16384e,_0xe5ac67,_0x204165]);},'hmget'(_0x1c35e9,_0x121cf3){return _0x25ba64('hmget',[_0x1c35e9,_0x121cf3]);},'hset'(_0x5471b7,_0x23fae2){return _0x25ba64('hset',[_0x5471b7,_0x23fae2]);},'lrange'(_0xf6da30,_0x3fe35a,_0xecd713){return _0x25ba64('lrange',[_0xf6da30,_0x3fe35a,_0xecd713]);},'rpush'(_0x232ab3,_0xbbabc1){return _0x25ba64('rpush',[_0x232ab3,_0xbbabc1]);},'zadd'(..._0x115b95){return _0x25ba64('zadd',_0x115b95);},'xgroup'(_0x5c1316,_0x2829c6,_0x17e439,_0x7490c8,_0x44542c){return _0x25ba64('xgroup',[_0x5c1316,_0x2829c6,_0x17e439,_0x7490c8,_0x44542c]);}};return _0x4e1fdb;}return this['storeClient']['multi']();}async['exec'](..._0x363892){const _0x253c9e=await this['storeClient']['call']['apply'](this['storeClient'],_0x363892);if(typeof _0x253c9e==='string')return _0x253c9e;else{if(Array['isArray'](_0x253c9e)){if(Array['isArray'](_0x253c9e[0x0]))return _0x253c9e;return _0x253c9e;}}return _0x253c9e;}async['setnxex'](_0x958843,_0x349845,_0x10fbf6){const _0x13e8d8=await this['storeClient'][this['commands']['set']](_0x958843,_0x349845,'NX','EX',_0x10fbf6['toString']());return this['isSuccessful'](_0x13e8d8);}['hGetAllResult'](_0x50aa83){return _0x50aa83[0x1];}async['addTaskQueues'](_0x417b75){const _0x485469=this['storeClient']['multi'](),_0xc4e63c=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x7fd36f of _0x417b75){_0x485469['zadd'](_0xc4e63c,'NX',Date['now'](),_0x7fd36f);}await _0x485469['exec']();}}function _0x349f(){const _0x1b76d1=['12LCjQVS','3hAVAzI','1333071qcxnZy','629085pckPsb','533565WBSAbB','3066616XegHMT','10FQkQSh','3847920OMJguR','14896959QkfBqK','12iHoEtk','144346OHNVfs'];_0x349f=function(){return _0x1b76d1;};return _0x349f();}exports['IORedisStoreService']=IORedisStoreService;
|
|
@@ -7,7 +7,6 @@ declare class RedisStoreService extends RedisStoreBase<RedisClientType, RedisMul
|
|
|
7
7
|
exec(...args: any[]): Promise<string | string[] | string[][]>;
|
|
8
8
|
setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
|
|
9
9
|
zAdd(key: string, score: number | string, value: string | number, redisMulti?: RedisMultiType): Promise<any>;
|
|
10
|
-
zRangeByScoreWithScores(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
11
10
|
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
12
11
|
}
|
|
13
12
|
export { RedisStoreService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x457cef,_0x46c734){const _0x38da28=_0x2592,_0x5ead2e=_0x457cef();while(!![]){try{const _0x4b7f3f=-parseInt(_0x38da28(0xd2))/0x1*(parseInt(_0x38da28(0xdd))/0x2)+-parseInt(_0x38da28(0xd5))/0x3*(-parseInt(_0x38da28(0xdc))/0x4)+-parseInt(_0x38da28(0xd3))/0x5*(-parseInt(_0x38da28(0xd4))/0x6)+-parseInt(_0x38da28(0xd8))/0x7+parseInt(_0x38da28(0xd7))/0x8*(parseInt(_0x38da28(0xd6))/0x9)+-parseInt(_0x38da28(0xd9))/0xa*(parseInt(_0x38da28(0xde))/0xb)+-parseInt(_0x38da28(0xda))/0xc*(-parseInt(_0x38da28(0xdb))/0xd);if(_0x4b7f3f===_0x46c734)break;else _0x5ead2e['push'](_0x5ead2e['shift']());}catch(_0x3ee954){_0x5ead2e['push'](_0x5ead2e['shift']());}}}(_0x208c,0x35ce8));function _0x208c(){const _0x56bd19=['1986EXohjQ','9yCbqxz','2756187xUAZKH','8ifJKYK','1871107bPwXeu','1793800cBvUaJ','6512244gKMDaX','13RHcVSt','15548eBYjgO','70gKqhYy','22Egjpim','1274GsXSSn','460hNcMYV'];_0x208c=function(){return _0x56bd19;};return _0x208c();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreService']=void 0x0;function _0x2592(_0x132ced,_0x3c57d7){const _0x208ca4=_0x208c();return _0x2592=function(_0x259237,_0x47e4ba){_0x259237=_0x259237-0xd2;let _0x3b07e3=_0x208ca4[_0x259237];return _0x3b07e3;},_0x2592(_0x132ced,_0x3c57d7);}const enums_1=require('../../../../modules/enums'),_base_1=require('./_base');class RedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x188a3c){super(_0x188a3c),this['commands']={'get':'GET','set':'SET','setnx':'SETNX','del':'DEL','expire':'EXPIRE','hscan':'HSCAN','hset':'HSET','hsetnx':'HSETNX','hincrby':'HINCRBY','hdel':'HDEL','hget':'HGET','hmget':'HMGET','hgetall':'HGETALL','hincrbyfloat':'HINCRBYFLOAT','zrange':'ZRANGE','zrangebyscore_withscores':'ZRANGEBYSCORE_WITHSCORES','zrangebyscore':'ZRANGEBYSCORE','zrem':'ZREM','zadd':'ZADD','lmove':'LMOVE','lrange':'LRANGE','lpop':'LPOP','rename':'RENAME','rpush':'RPUSH','scan':'SCAN','xack':'XACK','xdel':'XDEL','xlen':'XLEN'};}['transact'](){const _0x1717f4=this;if(enums_1['HMSH_IS_CLUSTER']){const _0xc26f14=[],_0x2af214=(_0x4ac4a8,_0x4f9a3f)=>{return _0xc26f14['push']({'command':_0x4ac4a8['toUpperCase'](),'args':_0x4f9a3f}),_0x2f51ac;},_0x2f51ac={'sendCommand'(_0x43959a,..._0x5b4e18){return _0x1717f4['storeClient']['sendCommand']([_0x43959a,..._0x5b4e18]);},async 'exec'(){if(_0xc26f14['length']===0x0)return[];const _0x4bb852=_0xc26f14['every'](_0x56140c=>{return _0x56140c['args'][0x0]===_0xc26f14[0x0]['args'][0x0];});if(_0x4bb852){const _0x1361ce=_0x1717f4['storeClient']['multi']();_0xc26f14['forEach'](_0x2481c0=>{if(_0x2481c0['command']==='ZADD')return _0x1361ce['ZADD'](_0x2481c0['args'][0x0],_0x2481c0['args'][0x1],_0x2481c0['args'][0x2]);return _0x1361ce[_0x2481c0['command']](..._0x2481c0['args']);});const _0x1a9df2=await _0x1361ce['exec']();return _0x1a9df2['map'](_0x1429e1=>_0x1429e1);}else return Promise['all'](_0xc26f14['map'](_0x44b135=>{if(_0x44b135['command']==='ZADD')return _0x1717f4['storeClient']['ZADD'](_0x44b135['args'][0x0],_0x44b135['args'][0x1],_0x44b135['args'][0x2]);return _0x1717f4['storeClient'][_0x44b135['command']](..._0x44b135['args']);}));},'XADD'(_0xb473bf,_0x4164b5,_0x47dc81,_0x334c23){return _0x2af214('XADD',[_0xb473bf,_0x4164b5,_0x47dc81,_0x334c23]);},'XACK'(_0x4d50e9,_0x3d401b,_0x3aa35e){return _0x2af214('XACK',[_0x4d50e9,_0x3d401b,_0x3aa35e]);},'XDEL'(_0x3aff4c,_0x480f5b){return _0x2af214('XDEL',[_0x3aff4c,_0x480f5b]);},'XLEN'(_0x46ae64){return _0x2af214('XLEN',[_0x46ae64]);},'XCLAIM'(_0x37268c,_0x202019,_0x1a8e8a,_0x55da79,_0x493432,..._0x32e2b9){return _0x2af214('XCLAIM',[_0x37268c,_0x202019,_0x1a8e8a,_0x55da79,_0x493432,..._0x32e2b9]);},'XPENDING'(_0x27b9ef,_0x1e669c,_0x2dee20,_0x54d57a,_0x2cbfe8,_0x1eefd9){return _0x2af214('XPENDING',[_0x27b9ef,_0x1e669c,_0x2dee20,_0x54d57a,_0x2cbfe8,_0x1eefd9]);},'DEL':function(_0x40cd1d){return _0x2af214('DEL',[_0x40cd1d]);},'EXPIRE':function(_0x362593,_0x2277a3){return _0x2af214('EXPIRE',[_0x362593,_0x2277a3]);},'HDEL'(_0x2a9c8f,_0x28793b){return _0x2af214('HDEL',[_0x2a9c8f,_0x28793b]);},'HGET'(_0x118cc4,_0x5ab51b){return _0x2af214('HGET',[_0x118cc4,_0x5ab51b]);},'HGETALL'(_0x579a4f){return _0x2af214('HGETALL',[_0x579a4f]);},'HINCRBYFLOAT'(_0xee52c4,_0x3b8635,_0xc5beaa){return _0x2af214('HINCRBYFLOAT',[_0xee52c4,_0x3b8635,_0xc5beaa]);},'HMGET'(_0x4daea9,_0x42b4b8){return _0x2af214('HMGET',[_0x4daea9,_0x42b4b8]);},'HSET'(_0x40ede5,_0x59403a){return _0x2af214('HSET',[_0x40ede5,_0x59403a]);},'LRANGE'(_0x15411d,_0x5b5c4f,_0x1b9691){return _0x2af214('LRANGE',[_0x15411d,_0x5b5c4f,_0x1b9691]);},'RPUSH'(_0x10474c,_0x58ab23){return _0x2af214('RPUSH',[_0x10474c,_0x58ab23]);},'ZADD'(_0x3f4eb1,_0x561659,_0x47194a){return _0x2af214('ZADD',[_0x3f4eb1,_0x561659,_0x47194a]);},'XGROUP'(_0x63b039,_0x6a7272,_0x16fd21,_0x3194e2,_0x1f4347){return _0x2af214('XGROUP',[_0x63b039,_0x6a7272,_0x16fd21,_0x3194e2,_0x1f4347]);},'EXISTS':function(_0x475ddb){throw new Error('Function\x20not\x20implemented.');},'HMPUSH':function(_0x51e817,_0x5132cc){throw new Error('Function\x20not\x20implemented.');},'LPUSH':function(_0x17814d,_0x485a0e){throw new Error('Function\x20not\x20implemented.');},'SET':function(_0x449632,_0x6ebf1f){throw new Error('Function\x20not\x20implemented.');},'ZRANGE_WITHSCORES':function(_0x2f804a,_0x17c8aa,_0x25ed92){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(_0x1bd8ea,_0x536670){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(_0x1797f2,_0x365c54){throw new Error('Function\x20not\x20implemented.');}};return _0x2f51ac;}return this['storeClient']['multi']();}async['exec'](..._0x648f20){return await this['storeClient']['sendCommand'](_0x648f20);}async['setnxex'](_0x581610,_0x25b0f7,_0x31b65b){const _0x17903b=await this['storeClient'][this['commands']['set']](_0x581610,_0x25b0f7,{'NX':!![],'EX':_0x31b65b});return this['isSuccessful'](_0x17903b);}async['zAdd'](_0x59f4aa,_0x4b2d9f,_0x109b11,_0x56ccd8){return await(_0x56ccd8||this['storeClient'])[this['commands']['zadd']](_0x59f4aa,{'score':_0x4b2d9f,'value':_0x109b11['toString']()});}async['zRangeByScore'](_0x436c7c,_0xe31415,_0x5f0c79){const _0x126034=await this['storeClient'][this['commands']['zrangebyscore']](_0x436c7c,_0xe31415,_0x5f0c79);if(_0x126034?.['length']>0x0)return _0x126034[0x0];return null;}}exports['RedisStoreService']=RedisStoreService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x18eb(){var _0x1d8a85=['125762FOhrlx','212404qFnZju','20866PWrPIv','2604160uuwHIp','771198BqToQQ','11898CsjOYt','10eyrjEQ','17AaZuRh','2180772XWIDVw','10sNtvUV','66NQMjII'];_0x18eb=function(){return _0x1d8a85;};return _0x18eb();}function _0x3a9f(_0xfdfd49,_0x2624a6){var _0x18eb58=_0x18eb();return _0x3a9f=function(_0x3a9f87,_0x1fc85b){_0x3a9f87=_0x3a9f87-0x102;var _0x389f14=_0x18eb58[_0x3a9f87];return _0x389f14;},_0x3a9f(_0xfdfd49,_0x2624a6);}(function(_0x32c206,_0x7333a0){var _0x4294cd=_0x3a9f,_0x353fa4=_0x32c206();while(!![]){try{var _0x2710c4=parseInt(_0x4294cd(0x107))/0x1*(parseInt(_0x4294cd(0x102))/0x2)+parseInt(_0x4294cd(0x104))/0x3+parseInt(_0x4294cd(0x10c))/0x4*(parseInt(_0x4294cd(0x109))/0x5)+-parseInt(_0x4294cd(0x10a))/0x6*(-parseInt(_0x4294cd(0x10b))/0x7)+-parseInt(_0x4294cd(0x103))/0x8+-parseInt(_0x4294cd(0x105))/0x9*(parseInt(_0x4294cd(0x106))/0xa)+-parseInt(_0x4294cd(0x108))/0xb;if(_0x2710c4===_0x7333a0)break;else _0x353fa4['push'](_0x353fa4['shift']());}catch(_0x1f1d44){_0x353fa4['push'](_0x353fa4['shift']());}}}(_0x18eb,0x340a9));Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -5,6 +5,7 @@ const utils_1 = require("../../modules/utils");
|
|
|
5
5
|
const ioredis_1 = require("./providers/redis/ioredis");
|
|
6
6
|
const redis_1 = require("./providers/redis/redis");
|
|
7
7
|
const nats_1 = require("./providers/nats/nats");
|
|
8
|
+
const postgres_1 = require("./providers/postgres/postgres");
|
|
8
9
|
class StreamServiceFactory {
|
|
9
10
|
static async init(provider, storeProvider, namespace, appId, logger) {
|
|
10
11
|
let service;
|
|
@@ -19,10 +20,13 @@ class StreamServiceFactory {
|
|
|
19
20
|
}
|
|
20
21
|
service = new nats_1.NatsStreamService(provider, storeProvider);
|
|
21
22
|
}
|
|
23
|
+
else if (providerType === 'postgres') {
|
|
24
|
+
service = new postgres_1.PostgresStreamService(provider, storeProvider);
|
|
25
|
+
}
|
|
22
26
|
else if (providerType === 'redis') {
|
|
23
27
|
service = new redis_1.RedisStreamService(provider, storeProvider);
|
|
24
28
|
}
|
|
25
|
-
else {
|
|
29
|
+
else if (providerType === 'ioredis') {
|
|
26
30
|
service = new ioredis_1.IORedisStreamService(provider, storeProvider);
|
|
27
31
|
}
|
|
28
32
|
await service.init(namespace, appId, logger);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x20202e,_0x52967e){const _0xf36fe8=_0x328c,_0x25723a=_0x20202e();while(!![]){try{const _0x48081a=parseInt(_0xf36fe8(0x190))/0x1*(parseInt(_0xf36fe8(0x19b))/0x2)+parseInt(_0xf36fe8(0x198))/0x3*(parseInt(_0xf36fe8(0x191))/0x4)+-parseInt(_0xf36fe8(0x194))/0x5*(parseInt(_0xf36fe8(0x196))/0x6)+-parseInt(_0xf36fe8(0x193))/0x7+-parseInt(_0xf36fe8(0x195))/0x8*(parseInt(_0xf36fe8(0x192))/0x9)+parseInt(_0xf36fe8(0x199))/0xa*(parseInt(_0xf36fe8(0x197))/0xb)+parseInt(_0xf36fe8(0x19a))/0xc;if(_0x48081a===_0x52967e)break;else _0x25723a['push'](_0x25723a['shift']());}catch(_0x7d0110){_0x25723a['push'](_0x25723a['shift']());}}}(_0xfa7e,0x60dae));function _0x328c(_0x3d9236,_0x26a3a4){const _0xfa7e71=_0xfa7e();return _0x328c=function(_0x328c86,_0xf1e0e0){_0x328c86=_0x328c86-0x190;let _0xad9864=_0xfa7e71[_0x328c86];return _0xad9864;},_0x328c(_0x3d9236,_0x26a3a4);}function _0xfa7e(){const _0x550b44=['73520tMoazg','42TsdqNO','385fnTVCW','1800201ibnkiN','32090MHkVZF','10807284pJbHAA','2tsiRVh','71BWKnAS','4ZBQSEx','180WTQFDF','2090438UoJiJR','524220ENlzKb'];_0xfa7e=function(){return _0x550b44;};return _0xfa7e();}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(_0x43c3da,_0x37b165,_0x13dff4={}){super(_0x43c3da,_0x37b165,_0x13dff4),this['jetstream']=_0x43c3da['jetstream']();}async['init'](_0x37974b,_0x2516c2,_0x44053c){this['namespace']=_0x37974b,this['logger']=_0x44053c,this['appId']=_0x2516c2,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x5e44dd,_0x4a382c){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5e44dd,{..._0x4a382c,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x1c1957){try{const _0x1c6b7a={'name':_0x1c1957,'subjects':[_0x1c1957+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x1c6b7a),!![];}catch(_0x1aa167){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x1c1957,{'error':_0x1aa167});throw _0x1aa167;}}async['deleteStream'](_0x12aedc){try{return await this['jsm']['streams']['delete'](_0x12aedc),!![];}catch(_0x33e357){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x12aedc,{'error':_0x33e357});throw _0x33e357;}}async['createConsumerGroup'](_0x680e6c,_0x224cf4){try{const _0x4e3c4e={'durable_name':_0x224cf4,'deliver_group':_0x224cf4,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x680e6c,_0x4e3c4e),!![];}catch(_0x486889){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0x224cf4+'\x20for\x20stream\x20'+_0x680e6c,{'error':_0x486889});throw _0x486889;}}async['deleteConsumerGroup'](_0x51627d,_0x5b08cf){try{return await this['jsm']['consumers']['delete'](_0x51627d,_0x5b08cf),!![];}catch(_0x5c74b5){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x5b08cf+'\x20for\x20stream\x20'+_0x51627d,{'error':_0x5c74b5});throw _0x5c74b5;}}async['publishMessages'](_0x57e26c,_0x396a99,_0x5853fc){try{const _0xbdf417=_0x396a99['map'](async _0xd5facb=>{const _0xd3a49d=_0x57e26c+'.message',_0x31136e=await this['jetstream']['publish'](_0xd3a49d,Buffer['from'](_0xd5facb));return _0x31136e;}),_0x421a7c=await Promise['all'](_0xbdf417);return _0x421a7c['map'](_0xccbd26=>_0xccbd26['seq']['toString']());}catch(_0x190f18){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x57e26c,{'error':_0x190f18});throw _0x190f18;}}async['consumeMessages'](_0x38b361,_0xf28012,_0x4928c3,_0x1d2109){try{const _0x4f1c87=await this['jetstream']['consumers']['get'](_0x38b361,_0xf28012),_0x31769d=[],_0x1d951f={'max_messages':_0x1d2109?.['batchSize']||0x1,'expires':_0x1d2109?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x523fe1=await _0x4f1c87['fetch'](_0x1d951f);for await(const _0x3714ee of _0x523fe1){_0x31769d['push']({'id':_0x3714ee['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x3714ee['string']())});}return _0x31769d;}catch(_0x365646){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x38b361,{'error':_0x365646});throw _0x365646;}}async['ackAndDelete'](_0x22b320,_0x1063f0,_0x1772b0){try{return await this['acknowledgeMessages'](_0x22b320,_0x1063f0,_0x1772b0),_0x1772b0['length'];}catch(_0x5bc758){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x22b320,{'error':_0x5bc758});throw _0x5bc758;}}async['acknowledgeMessages'](_0x5a3585,_0x4655fa,_0x8f1ac5,_0x3a24d1){return _0x8f1ac5['length'];}async['deleteMessages'](_0x1f600c,_0x8f34ba,_0x2b808c,_0x1b148f){try{return await Promise['all'](_0x2b808c['map'](_0x2502c6=>this['jsm']['streams']['deleteMessage'](_0x1f600c,parseInt(_0x2502c6)))),_0x2b808c['length'];}catch(_0xa78fc2){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x1f600c,{'error':_0xa78fc2});throw _0xa78fc2;}}async['retryMessages'](_0x46aa38,_0x43f121,_0xa41a2f){return[];}async['getStreamStats'](_0xe0886a){try{const _0xa92625=await this['jsm']['streams']['info'](_0xe0886a);return{'messageCount':_0xa92625['state']['messages']};}catch(_0x579ca1){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0xe0886a,{'error':_0x579ca1});throw _0x579ca1;}}async['getStreamDepth'](_0x441511){try{const _0x328cf3=await this['jsm']['streams']['info'](_0x441511);return _0x328cf3['state']['messages'];}catch(_0x11808a){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x441511,{'error':_0x11808a});throw _0x11808a;}}async['getStreamDepths'](_0x6f89c0){try{const _0x2263e0=await Promise['all'](_0x6f89c0['map'](async({stream:_0x5bdf48})=>({'stream':_0x5bdf48,'depth':await this['getStreamDepth'](_0x5bdf48)})));return _0x2263e0;}catch(_0x2045d8){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x2045d8});throw _0x2045d8;}}async['trimStream'](_0xe69a18,_0x5ddee2){try{const _0x2a5a8b=await this['jsm']['streams']['info'](_0xe69a18),_0x4d5085={..._0x2a5a8b['config']};return _0x5ddee2['maxLen']!==undefined&&(_0x4d5085['max_msgs']=_0x5ddee2['maxLen']),_0x5ddee2['maxAge']!==undefined&&(_0x4d5085['max_age']=_0x5ddee2['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0xe69a18,_0x4d5085),0x0;}catch(_0x215506){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0xe69a18,{'error':_0x215506});throw _0x215506;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['NatsStreamService']=NatsStreamService;
|
|
@@ -25,6 +25,10 @@ declare class PostgresStreamService extends StreamService<PostgresClientType & P
|
|
|
25
25
|
createConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
26
26
|
deleteConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
27
27
|
publishMessages(streamName: string, messages: string[], options?: PublishMessageConfig): Promise<string[] | ProviderTransaction>;
|
|
28
|
+
_publishMessages(streamName: string, messages: string[]): {
|
|
29
|
+
sql: string;
|
|
30
|
+
params: any[];
|
|
31
|
+
};
|
|
28
32
|
consumeMessages(streamName: string, groupName: string, consumerName: string, options?: {
|
|
29
33
|
batchSize?: number;
|
|
30
34
|
blockTimeout?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x4447fb,_0x565ffe){const _0x515e0b=_0x2536,_0x1d697e=_0x4447fb();while(!![]){try{const _0x392001=parseInt(_0x515e0b(0x1b5))/0x1+parseInt(_0x515e0b(0x1b4))/0x2*(parseInt(_0x515e0b(0x1b6))/0x3)+parseInt(_0x515e0b(0x1b2))/0x4*(-parseInt(_0x515e0b(0x1b1))/0x5)+-parseInt(_0x515e0b(0x1b3))/0x6+parseInt(_0x515e0b(0x1b7))/0x7+-parseInt(_0x515e0b(0x1b9))/0x8+parseInt(_0x515e0b(0x1b8))/0x9*(parseInt(_0x515e0b(0x1b0))/0xa);if(_0x392001===_0x565ffe)break;else _0x1d697e['push'](_0x1d697e['shift']());}catch(_0x2a514f){_0x1d697e['push'](_0x1d697e['shift']());}}}(_0x2932,0x3f438));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;function _0x2536(_0x2a5fde,_0x1f7a44){const _0x29321d=_0x2932();return _0x2536=function(_0x2536a3,_0x12f0a2){_0x2536a3=_0x2536a3-0x1b0;let _0xd42a85=_0x29321d[_0x2536a3];return _0xd42a85;},_0x2536(_0x2a5fde,_0x1f7a44);}const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x595ed9,_0xc72dd8,_0x41bf1c={}){super(_0x595ed9,_0xc72dd8,_0x41bf1c);}async['init'](_0x430c40,_0x497287,_0x5c286b){this['namespace']=_0x430c40,this['appId']=_0x497287,this['logger']=_0x5c286b,await this['deploy']();}async['deploy'](){const _0x435992=this['streamClient'];try{const _0x5017fd=this['getAdvisoryLockId'](),_0x2e2bdd=await _0x435992['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x5017fd]);if(_0x2e2bdd['rows'][0x0]['locked']){await _0x435992['query']('BEGIN');const _0x299ffd=await this['checkIfTablesExist'](_0x435992);!_0x299ffd&&await this['createTables'](_0x435992),await _0x435992['query']('COMMIT'),await _0x435992['query']('SELECT\x20pg_advisory_unlock($1)',[_0x5017fd]);}else{let _0x4d9d19=0x0;const _0x5e95e3=0x14;while(_0x4d9d19<_0x5e95e3){await this['delay'](0x64);const _0x29fdee=await _0x435992['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x5017fd]);if(_0x29fdee['rows'][0x0]['unlocked']){const _0xa7b03d=await this['checkIfTablesExist'](_0x435992);if(_0xa7b03d)break;}_0x4d9d19++;}if(_0x4d9d19===_0x5e95e3)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x4839cf){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x4839cf});throw _0x4839cf;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x39f559){let _0x5bdc19=0x0;for(let _0x36abaa=0x0;_0x36abaa<_0x39f559['length'];_0x36abaa++){_0x5bdc19=(_0x5bdc19<<0x5)-_0x5bdc19+_0x39f559['charCodeAt'](_0x36abaa),_0x5bdc19|=0x0;}return Math['abs'](_0x5bdc19);}async['checkIfTablesExist'](_0x5eeed2){const _0x24949d=await _0x5eeed2['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x24949d['rows'][0x0]['table']!==null;}['getTableName'](){return'stream_'+this['namespace']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_');}async['createTables'](_0x19c40a){const _0x238068=this['getTableName']();await _0x19c40a['query']('BEGIN'),await _0x19c40a['query']('CREATE\x20TABLE\x20'+_0x238068+'\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 _0x1264cc=0x0;_0x1264cc<0x8;_0x1264cc++){await _0x19c40a['query']('CREATE\x20TABLE\x20'+_0x238068+'_part_'+_0x1264cc+'\x20PARTITION\x20OF\x20'+_0x238068+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x1264cc+')');}await _0x19c40a['query']('CREATE\x20INDEX\x20idx_'+_0x238068+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x238068+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x19c40a['query']('COMMIT');}['delay'](_0x4e6d9f){return new Promise(_0x108541=>setTimeout(_0x108541,_0x4e6d9f));}['mintKey'](_0x273cec,_0x1d5538){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x273cec,{..._0x1d5538,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x4f2249){return!![];}async['deleteStream'](_0x32608f){const _0x28bb02=this['streamClient'],_0x4d2b82=this['getTableName']();try{return await _0x28bb02['query']('BEGIN'),_0x32608f==='*'?await _0x28bb02['query']('DELETE\x20FROM\x20'+_0x4d2b82):await _0x28bb02['query']('DELETE\x20FROM\x20'+_0x4d2b82+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x32608f]),await _0x28bb02['query']('COMMIT'),!![];}catch(_0x32ef33){await _0x28bb02['query']('ROLLBACK'),this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x32608f,{'error':_0x32ef33});throw _0x32ef33;}}async['createConsumerGroup'](_0x475668,_0x670bdd){return!![];}async['deleteConsumerGroup'](_0x373fd7,_0x485471){const _0x2e851f=this['streamClient'],_0x35628a=this['getTableName']();try{return await _0x2e851f['query']('BEGIN'),await _0x2e851f['query']('DELETE\x20FROM\x20'+_0x35628a+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x373fd7,_0x485471]),await _0x2e851f['query']('COMMIT'),!![];}catch(_0x108581){await _0x2e851f['query']('ROLLBACK'),this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x485471+'\x20for\x20stream\x20'+_0x373fd7,{'error':_0x108581});throw _0x108581;}}async['publishMessages'](_0x24b636,_0x5dd601,_0x3dd904){const _0x10c2ff=_0x3dd904?.['transaction']||this['streamClient'],_0x15311c=this['getTableName']();try{!_0x3dd904?.['transaction']&&await _0x10c2ff['query']('BEGIN');const _0x2cf283=[],_0x4bf592=_0x24b636['endsWith'](':')?'ENGINE':'WORKER',_0x3fb651=_0x5dd601['map']((_0x480dc6,_0x515d52)=>'($1,\x20$2,\x20$'+(_0x515d52+0x3)+')')['join'](',\x20'),_0x1a9734=[_0x24b636,_0x4bf592,..._0x5dd601],_0x4a4038=await _0x10c2ff['query']('INSERT\x20INTO\x20'+_0x15311c+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x3fb651+'\x20RETURNING\x20id',_0x1a9734);for(const _0xa55f19 of _0x4a4038['rows']){_0x2cf283['push'](_0xa55f19['id']['toString']());}return!_0x3dd904?.['transaction']&&await _0x10c2ff['query']('COMMIT'),_0x2cf283;}catch(_0x4ca12e){!_0x3dd904?.['transaction']&&await _0x10c2ff['query']('ROLLBACK');this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x24b636,{'error':_0x4ca12e});throw _0x4ca12e;}}async['consumeMessages'](_0x50a060,_0x16a355,_0x5ad16f,_0x593a89){const _0x29e878=this['streamClient'],_0x2418b2=this['getTableName']();try{const _0x58f38b=_0x593a89?.['batchSize']||0x1,_0x2475bd=_0x593a89?.['reservationTimeout']||0x1e,_0x3c0a23=await _0x29e878['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'+_0x2418b2+'\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'+_0x2475bd+'\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'+_0x2418b2+'\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',[_0x50a060,_0x16a355,_0x58f38b,_0x5ad16f]),_0x22c52d=_0x3c0a23['rows']['map'](_0x3530c5=>({'id':_0x3530c5['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x3530c5['message'])}));return _0x22c52d;}catch(_0xf6675f){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x50a060,{'error':_0xf6675f});throw _0xf6675f;}}async['ackAndDelete'](_0xaf3e8b,_0x325948,_0x32d316){return await this['deleteMessages'](_0xaf3e8b,_0x325948,_0x32d316);}async['acknowledgeMessages'](_0x2d2693,_0x3b3b67,_0x8b7c74,_0x10733b){return _0x8b7c74['length'];}async['deleteMessages'](_0x1931d1,_0x40883f,_0x4bde6d,_0x26ec58){const _0x31091b=this['streamClient'],_0x24b8cd=this['getTableName']();try{await _0x31091b['query']('BEGIN');const _0x3a65e9=_0x4bde6d['map'](_0x413568=>parseInt(_0x413568));return await _0x31091b['query']('DELETE\x20FROM\x20'+_0x24b8cd+'\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',[_0x1931d1,_0x3a65e9,_0x40883f]),await _0x31091b['query']('COMMIT'),_0x4bde6d['length'];}catch(_0x4127f3){await _0x31091b['query']('ROLLBACK'),this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x1931d1,{'error':_0x4127f3});throw _0x4127f3;}}async['retryMessages'](_0x2091a6,_0x3d0bec,_0x223645){return[];}async['getStreamStats'](_0x47225e){const _0x14a4c9=this['streamClient'],_0x3efc1a=this['getTableName']();try{const _0x11eb4f=await _0x14a4c9['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x3efc1a+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x47225e]);return{'messageCount':parseInt(_0x11eb4f['rows'][0x0]['count'],0xa)};}catch(_0x22ded9){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x47225e,{'error':_0x22ded9});throw _0x22ded9;}}async['getStreamDepth'](_0x55d220){const _0x1449f1=await this['getStreamStats'](_0x55d220);return _0x1449f1['messageCount'];}async['getStreamDepths'](_0x57457b){const _0x502818=this['streamClient'],_0x1b2efd=this['getTableName']();try{const _0x17b2b9=_0x57457b['map'](_0x4ed74d=>_0x4ed74d['stream']),_0x54a213=await _0x502818['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1b2efd+'\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',[_0x17b2b9]),_0x14dfe6=_0x54a213['rows']['map'](_0x55eb5d=>({'stream':_0x55eb5d['stream_name'],'depth':parseInt(_0x55eb5d['count'],0xa)}));return _0x14dfe6;}catch(_0x922bd8){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x922bd8});throw _0x922bd8;}}async['trimStream'](_0x26be55,_0x40d803){const _0x5f4ed6=this['streamClient'],_0x52d3d1=this['getTableName']();try{await _0x5f4ed6['query']('BEGIN');let _0x517cee=0x0;if(_0x40d803['maxLen']!==undefined){const _0x143ded=await _0x5f4ed6['query']('DELETE\x20FROM\x20'+_0x52d3d1+'\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'+_0x52d3d1+'\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)',[_0x26be55,_0x40d803['maxLen']]);_0x517cee+=_0x143ded['rowCount'];}if(_0x40d803['maxAge']!==undefined){const _0x4f2222=await _0x5f4ed6['query']('DELETE\x20FROM\x20'+_0x52d3d1+'\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'+_0x40d803['maxAge']+'\x20milliseconds\x27',[_0x26be55]);_0x517cee+=_0x4f2222['rowCount'];}return await _0x5f4ed6['query']('COMMIT'),_0x517cee;}catch(_0x45a449){await _0x5f4ed6['query']('ROLLBACK'),this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x26be55,{'error':_0x45a449});throw _0x45a449;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;function _0x2932(){const _0x217045=['28jFsejg','1602246TKPEUt','2xjckIg','146866OwRzJa','761934ddQVev','899101QNYFIz','18WhVLzD','76456wcqxsb','179160IggAWR','20995KOvfVF'];_0x2932=function(){return _0x217045;};return _0x2932();}
|
|
1
|
+
'use strict';function _0x1d11(){const _0x3abedf=['1420122QFQhjD','298517iATSQb','1246993BvsHGc','2aBCFDU','3948hfYsWA','10lrhDTo','7DxdnAd','376592XCrkuz','70yxPMcK','47588eGctdS','3140046yknEqh'];_0x1d11=function(){return _0x3abedf;};return _0x1d11();}(function(_0x547415,_0x2a2028){const _0x12c7bd=_0x2584,_0x2be0c9=_0x547415();while(!![]){try{const _0x5d0748=parseInt(_0x12c7bd(0xd5))/0x1*(-parseInt(_0x12c7bd(0xd7))/0x2)+-parseInt(_0x12c7bd(0xd8))/0x3+parseInt(_0x12c7bd(0xd2))/0x4*(-parseInt(_0x12c7bd(0xdc))/0x5)+parseInt(_0x12c7bd(0xd4))/0x6+-parseInt(_0x12c7bd(0xda))/0x7*(parseInt(_0x12c7bd(0xdb))/0x8)+parseInt(_0x12c7bd(0xd3))/0x9+-parseInt(_0x12c7bd(0xd9))/0xa*(-parseInt(_0x12c7bd(0xd6))/0xb);if(_0x5d0748===_0x2a2028)break;else _0x2be0c9['push'](_0x2be0c9['shift']());}catch(_0x3d6e7f){_0x2be0c9['push'](_0x2be0c9['shift']());}}}(_0x1d11,0x2d487));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(_0x19097f,_0x3dd924,_0x435268={}){super(_0x19097f,_0x3dd924,_0x435268);}async['init'](_0x193eff,_0x2bee02,_0x336824){this['namespace']=_0x193eff,this['appId']=_0x2bee02,this['logger']=_0x336824,await this['deploy']();}async['deploy'](){const _0x2d88c1=this['streamClient'];try{const _0x1683b0=this['getAdvisoryLockId'](),_0x441e81=await _0x2d88c1['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x1683b0]);if(_0x441e81['rows'][0x0]['locked']){await _0x2d88c1['query']('BEGIN');const _0x41068d=await this['checkIfTablesExist'](_0x2d88c1);!_0x41068d&&await this['createTables'](_0x2d88c1),await _0x2d88c1['query']('COMMIT'),await _0x2d88c1['query']('SELECT\x20pg_advisory_unlock($1)',[_0x1683b0]);}else{let _0x3cd41b=0x0;const _0xb43e8a=0x14;while(_0x3cd41b<_0xb43e8a){await this['delay'](0x64);const _0x3c2812=await _0x2d88c1['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x1683b0]);if(_0x3c2812['rows'][0x0]['unlocked']){const _0x5b22b8=await this['checkIfTablesExist'](_0x2d88c1);if(_0x5b22b8)break;}_0x3cd41b++;}if(_0x3cd41b===_0xb43e8a)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x553ae3){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x553ae3});throw _0x553ae3;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x490e9b){let _0x455ac4=0x0;for(let _0x59f590=0x0;_0x59f590<_0x490e9b['length'];_0x59f590++){_0x455ac4=(_0x455ac4<<0x5)-_0x455ac4+_0x490e9b['charCodeAt'](_0x59f590),_0x455ac4|=0x0;}return Math['abs'](_0x455ac4);}async['checkIfTablesExist'](_0x464678){const _0x18bb59=await _0x464678['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x18bb59['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0xc3df14){const _0x5aaf72=this['getTableName']();await _0xc3df14['query']('BEGIN'),await _0xc3df14['query']('CREATE\x20TABLE\x20'+_0x5aaf72+'\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 _0x55774e=0x0;_0x55774e<0x8;_0x55774e++){await _0xc3df14['query']('CREATE\x20TABLE\x20'+_0x5aaf72+'_part_'+_0x55774e+'\x20PARTITION\x20OF\x20'+_0x5aaf72+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x55774e+')');}await _0xc3df14['query']('CREATE\x20INDEX\x20idx_'+_0x5aaf72+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x5aaf72+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0xc3df14['query']('COMMIT');}['delay'](_0x1d4b35){return new Promise(_0x34fcaa=>setTimeout(_0x34fcaa,_0x1d4b35));}['mintKey'](_0x45cfd7,_0x42f0a1){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x45cfd7,{..._0x42f0a1,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0xc4257b){return!![];}async['deleteStream'](_0x4575b6){const _0x5b242e=this['streamClient'],_0x4cf3e3=this['getTableName']();try{return _0x4575b6==='*'?await _0x5b242e['query']('DELETE\x20FROM\x20'+_0x4cf3e3):await _0x5b242e['query']('DELETE\x20FROM\x20'+_0x4cf3e3+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x4575b6]),!![];}catch(_0x5e81b9){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x4575b6,{'error':_0x5e81b9});throw _0x5e81b9;}}async['createConsumerGroup'](_0x549c60,_0x51bc9b){return!![];}async['deleteConsumerGroup'](_0x279490,_0x2f2c76){const _0x16b4aa=this['streamClient'],_0x4b3f15=this['getTableName']();try{return await _0x16b4aa['query']('DELETE\x20FROM\x20'+_0x4b3f15+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x279490,_0x2f2c76]),!![];}catch(_0x57198e){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x2f2c76+'\x20for\x20stream\x20'+_0x279490,{'error':_0x57198e});throw _0x57198e;}}async['publishMessages'](_0x5c0127,_0x1211cf,_0x137846){const {sql:_0x41af29,params:_0x52ff1b}=this['_publishMessages'](_0x5c0127,_0x1211cf);if(_0x137846?.['transaction']&&typeof _0x137846['transaction']['addCommand']==='function')return _0x137846['transaction']['addCommand'](_0x41af29,_0x52ff1b,'array',_0x897e97=>_0x897e97['map'](_0x299842=>_0x299842['id']['toString']())),_0x137846['transaction'];else try{const _0x203859=[],_0x4241bd=await this['streamClient']['query'](_0x41af29,_0x52ff1b);for(const _0x41d7dd of _0x4241bd['rows']){_0x203859['push'](_0x41d7dd['id']['toString']());}return _0x203859;}catch(_0x49f7d8){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x5c0127,{'error':_0x49f7d8});throw _0x49f7d8;}}['_publishMessages'](_0x1be671,_0x3c737a){const _0x9c1568=this['getTableName'](),_0x589330=_0x1be671['endsWith'](':')?'ENGINE':'WORKER',_0x3959af=_0x3c737a['map']((_0x5493fa,_0x505b2e)=>'($1,\x20$2,\x20$'+(_0x505b2e+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x9c1568+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x3959af+'\x20RETURNING\x20id','params':[_0x1be671,_0x589330,..._0x3c737a]};}async['consumeMessages'](_0x2976d9,_0x3a4e9d,_0x2ecc22,_0x511bf6){const _0xff16f0=this['streamClient'],_0x2ca3bd=this['getTableName']();try{const _0x1ba4f9=_0x511bf6?.['batchSize']||0x1,_0x1beca7=_0x511bf6?.['reservationTimeout']||0x1e,_0x1b9fb2=await _0xff16f0['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'+_0x2ca3bd+'\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'+_0x1beca7+'\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'+_0x2ca3bd+'\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',[_0x2976d9,_0x3a4e9d,_0x1ba4f9,_0x2ecc22]),_0x1808bd=_0x1b9fb2['rows']['map'](_0x3b66e2=>({'id':_0x3b66e2['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x3b66e2['message'])}));return _0x1808bd;}catch(_0x1ecfbf){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x2976d9,{'error':_0x1ecfbf});throw _0x1ecfbf;}}async['ackAndDelete'](_0x290b31,_0x401ef2,_0x159d44){return await this['deleteMessages'](_0x290b31,_0x401ef2,_0x159d44);}async['acknowledgeMessages'](_0x2722a3,_0x41b0a2,_0x2dd0f8,_0x418fa4){return _0x2dd0f8['length'];}async['deleteMessages'](_0x2524b1,_0x49ebfa,_0x3203d3,_0x23b665){const _0x4372bc=this['streamClient'],_0x561643=this['getTableName']();try{const _0xdcf8c9=_0x3203d3['map'](_0x57552a=>parseInt(_0x57552a));return await _0x4372bc['query']('DELETE\x20FROM\x20'+_0x561643+'\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',[_0x2524b1,_0xdcf8c9,_0x49ebfa]),_0x3203d3['length'];}catch(_0x505364){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x2524b1,{'error':_0x505364});throw _0x505364;}}async['retryMessages'](_0x9cf9de,_0x24900a,_0x11adb6){return[];}async['getStreamStats'](_0x25874f){const _0x5a8246=this['streamClient'],_0x345373=this['getTableName']();try{const _0x514223=await _0x5a8246['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x345373+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x25874f]);return{'messageCount':parseInt(_0x514223['rows'][0x0]['count'],0xa)};}catch(_0x577ad2){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x25874f,{'error':_0x577ad2});throw _0x577ad2;}}async['getStreamDepth'](_0x15a34b){const _0x3eb74c=await this['getStreamStats'](_0x15a34b);return _0x3eb74c['messageCount'];}async['getStreamDepths'](_0x32ebe2){const _0x1be049=this['streamClient'],_0x47f44a=this['getTableName']();console['log']('streamNames',_0x32ebe2);try{const _0x20d80b=_0x32ebe2['map'](_0x415dda=>_0x415dda['stream']),_0x15abce=await _0x1be049['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x47f44a+'\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',[_0x20d80b]);console['log']('res',_0x15abce);const _0x4674d9=_0x15abce['rows']['map'](_0x1b31ef=>({'stream':_0x1b31ef['stream_name'],'depth':parseInt(_0x1b31ef['count'],0xa)}));return _0x4674d9;}catch(_0x1d9b5e){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x1d9b5e});throw _0x1d9b5e;}}async['trimStream'](_0x3da1d2,_0x272213){const _0x25bc1d=this['streamClient'],_0x40c4e7=this['getTableName']();try{let _0x5947a=0x0;if(_0x272213['maxLen']!==undefined){const _0x39ec63=await _0x25bc1d['query']('DELETE\x20FROM\x20'+_0x40c4e7+'\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'+_0x40c4e7+'\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)',[_0x3da1d2,_0x272213['maxLen']]);_0x5947a+=_0x39ec63['rowCount'];}if(_0x272213['maxAge']!==undefined){const _0x3d30a4=await _0x25bc1d['query']('DELETE\x20FROM\x20'+_0x40c4e7+'\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'+_0x272213['maxAge']+'\x20milliseconds\x27',[_0x3da1d2]);_0x5947a+=_0x3d30a4['rowCount'];}return _0x5947a;}catch(_0x3e139d){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x3da1d2,{'error':_0x3e139d});throw _0x3e139d;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0x2584(_0x3e6996,_0x2a80d3){const _0x1d11f9=_0x1d11();return _0x2584=function(_0x258442,_0x217fdf){_0x258442=_0x258442-0xd2;let _0x120516=_0x1d11f9[_0x258442];return _0x120516;},_0x2584(_0x3e6996,_0x2a80d3);}exports['PostgresStreamService']=PostgresStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x33b8(_0x23cf7c,_0x138e4a){const _0x327a35=_0x327a();return _0x33b8=function(_0x33b8b5,_0x488a68){_0x33b8b5=_0x33b8b5-0x190;let _0x2d783d=_0x327a35[_0x33b8b5];return _0x2d783d;},_0x33b8(_0x23cf7c,_0x138e4a);}function _0x327a(){const _0xd8d5e5=['6BoZBIu','4468233KFvFwC','2278525DAfaGm','4487752WRdQqr','2299oLAKJY','9adcPeI','158338FOcVtK','182540osayml','3219956bBlwfg','3ogXxLu','1472250gOwGFe'];_0x327a=function(){return _0xd8d5e5;};return _0x327a();}(function(_0x3e7e26,_0x4bbffe){const _0x365e60=_0x33b8,_0x186f51=_0x3e7e26();while(!![]){try{const _0x638914=-parseInt(_0x365e60(0x19a))/0x1+-parseInt(_0x365e60(0x193))/0x2+-parseInt(_0x365e60(0x192))/0x3*(parseInt(_0x365e60(0x191))/0x4)+-parseInt(_0x365e60(0x196))/0x5*(parseInt(_0x365e60(0x194))/0x6)+-parseInt(_0x365e60(0x195))/0x7+-parseInt(_0x365e60(0x197))/0x8*(parseInt(_0x365e60(0x199))/0x9)+-parseInt(_0x365e60(0x190))/0xa*(-parseInt(_0x365e60(0x198))/0xb);if(_0x638914===_0x4bbffe)break;else _0x186f51['push'](_0x186f51['shift']());}catch(_0x4acd51){_0x186f51['push'](_0x186f51['shift']());}}}(_0x327a,0x70761));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(_0x43c2a6,_0x9bcbdf,_0x18bf2c={}){super(_0x43c2a6,_0x9bcbdf,_0x18bf2c);}async['init'](_0x212418,_0x111782,_0x52b3f4){this['namespace']=_0x212418,this['logger']=_0x52b3f4,this['appId']=_0x111782;}['mintKey'](_0x2bce37,_0x45bef7){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x2bce37,{..._0x45bef7,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x1f0c96){try{const _0x119b35=await this['streamClient']['xadd'](_0x1f0c96,'*','field','value');return await this['streamClient']['xdel'](_0x1f0c96,_0x119b35),!![];}catch(_0x3eac76){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x1f0c96,{'error':_0x3eac76});throw _0x3eac76;}}async['deleteStream'](_0x180b00){try{const _0x16ca49=await this['streamClient']['del'](_0x180b00);return _0x16ca49>0x0;}catch(_0x36c8b0){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x180b00,{'error':_0x36c8b0});throw _0x36c8b0;}}async['createConsumerGroup'](_0x2417ed,_0x42ebb9){try{return await this['storeClient']['xgroup']('CREATE',_0x2417ed,_0x42ebb9,'$','MKSTREAM')==='OK';}catch(_0x1f57f0){this['logger']['debug']('stream-mkstream-caught',{'key':_0x2417ed,'group':_0x42ebb9});throw _0x1f57f0;}}async['deleteConsumerGroup'](_0x51fecd,_0x262296){try{const _0x462a17=await this['streamClient']['xgroup']('DESTROY',_0x51fecd,_0x262296);return _0x462a17===0x1;}catch(_0x4a8d7c){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x262296+'\x20for\x20stream\x20'+_0x51fecd,{'error':_0x4a8d7c});throw _0x4a8d7c;}}async['publishMessages'](_0x76f1a3,_0x5571f5,_0x15294e){try{const _0x223178=_0x15294e?.['transaction']||_0x5571f5['length']>0x1&&this['storeClient']['multi']();let _0x5cbb5d;for(const _0x5b4021 of _0x5571f5){_0x5cbb5d=await(_0x223178||this['storeClient'])['xadd'](_0x76f1a3,'*','message',_0x5b4021);}return _0x223178&&!_0x15294e?.['transaction']?(await _0x223178['exec']())['map'](_0x21531c=>_0x21531c[0x1]):[_0x5cbb5d];}catch(_0xf99fd5){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x76f1a3,{..._0xf99fd5});throw _0xf99fd5;}}async['consumeMessages'](_0x1c7e26,_0x3c1801,_0x29ba74,_0x41b9a2){try{const _0x1bbf2b=await this['streamClient']['xreadgroup']('GROUP',_0x3c1801,_0x29ba74,'BLOCK',_0x41b9a2?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x1c7e26,'>'),_0x4deb53=[];if((0x0,utils_1['isStreamMessage'])(_0x1bbf2b)){const [[,_0x4eb626]]=_0x1bbf2b;for(const [_0x334d19,_0x271bed]of _0x4eb626){_0x4deb53['push']({'id':_0x334d19,'data':(0x0,utils_1['parseStreamMessage'])(_0x271bed[0x1])});}}else return[];return _0x4deb53;}catch(_0x295128){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x1c7e26,{'error':_0x295128});throw _0x295128;}}async['ackAndDelete'](_0x234eb1,_0x100878,_0x51c751){const _0x22e39b=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x234eb1,_0x100878,_0x51c751,{'multi':_0x22e39b}),this['deleteMessages'](_0x234eb1,_0x100878,_0x51c751,{'multi':_0x22e39b}),await _0x22e39b['exec'](),_0x51c751['length'];}async['acknowledgeMessages'](_0x4500d0,_0x4c9e81,_0x3c15af,_0x14c794){try{return _0x14c794?.['multi']?(_0x14c794['multi']['xack'](_0x4500d0,_0x4c9e81,..._0x3c15af),_0x14c794['multi']):await this['streamClient']['xack'](_0x4500d0,_0x4c9e81,..._0x3c15af);}catch(_0x546cc6){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x3c15af+']\x20in\x20group:\x20'+_0x4c9e81+'\x20for\x20key:\x20'+_0x4500d0,{..._0x546cc6});throw _0x546cc6;}}async['deleteMessages'](_0x20ff3c,_0x5ae157,_0x39eeb,_0x58858f){try{return _0x58858f?.['multi']?(_0x58858f['multi']['xdel'](_0x20ff3c,..._0x39eeb),_0x58858f['multi']):await this['streamClient']['xdel'](_0x20ff3c,..._0x39eeb);}catch(_0x2f3d87){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x39eeb+'\x20for\x20key:\x20'+_0x20ff3c,{..._0x2f3d87});throw _0x2f3d87;}}async['getPendingMessages'](_0xf2732f,_0x56c216,_0x5d1b7d,_0x440b3e){const _0x1deb9a='-',_0xbf314b='+';try{const _0x19189e=[_0xf2732f,_0x56c216];if(_0x1deb9a)_0x19189e['push'](_0x1deb9a);if(_0xbf314b)_0x19189e['push'](_0xbf314b);if(_0x5d1b7d!==undefined)_0x19189e['push'](_0x5d1b7d['toString']());if(_0x440b3e)_0x19189e['push'](_0x440b3e);try{return await this['streamClient']['call']('XPENDING',..._0x19189e);}catch(_0x5e373d){this['logger']['error']('err,\x20args',{..._0x5e373d},_0x19189e);}}catch(_0x29d45b){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0xf2732f+'],\x20[group\x20'+_0x56c216+']',{..._0x29d45b});throw _0x29d45b;}}async['retryMessages'](_0x496cec,_0x3c4755,_0x4beeee){let _0x5a9b64=[];const _0x355e3e=await this['getPendingMessages'](_0x496cec,_0x3c4755,_0x4beeee?.['limit']);for(const _0x4cb409 of _0x355e3e){if(Array['isArray'](_0x4cb409)){const [_0x196bb8,,_0x1d74c6,_0xfe9bcf]=_0x4cb409;if(_0x1d74c6>_0x4beeee?.['minIdleTime']){const _0xdb6482=await this['claimMessage'](_0x496cec,_0x3c4755,_0x4beeee?.['consumerName'],_0x4beeee?.['minIdleTime'],_0x196bb8);_0x5a9b64=_0x5a9b64['concat'](_0xdb6482);}}}return _0x5a9b64;}async['claimMessage'](_0x16e239,_0x42f3d8,_0x37fab2,_0x47cc9e,_0x1a1d3f,..._0x12c8fa){try{const _0x15c9fe=await this['streamClient']['xclaim'](_0x16e239,_0x42f3d8,_0x37fab2,_0x47cc9e,_0x1a1d3f,..._0x12c8fa);return{'id':_0x15c9fe[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x15c9fe[0x0][0x1][0x1])};}catch(_0x5d9ac6){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x1a1d3f+'\x20in\x20group:\x20'+_0x42f3d8+'\x20for\x20key:\x20'+_0x16e239,{..._0x5d9ac6});throw _0x5d9ac6;}}async['getStreamStats'](_0x1c63ec){return{'messageCount':await this['getStreamDepth'](_0x1c63ec)};}async['getStreamDepth'](_0x376fa1,_0x26ff9c){try{if(_0x26ff9c?.['multi'])return _0x26ff9c['multi']['xlen'](_0x376fa1),0x0;const _0x2fec22=await this['streamClient']['xlen'](_0x376fa1);return _0x2fec22;}catch(_0x1a4636){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x376fa1,{'error':_0x1a4636});throw _0x1a4636;}}async['getStreamDepths'](_0x3fe8e4){const _0x266987=this['storeClient']['multi'](),_0x1ed960=new Map();_0x3fe8e4['forEach'](_0x25d5f7=>{!_0x1ed960['has'](_0x25d5f7['stream'])&&(_0x1ed960['set'](_0x25d5f7['stream'],-0x1),this['getStreamDepth'](_0x25d5f7['stream'],{'multi':_0x266987}));});const _0x83b4ab=await _0x266987['exec']();Array['from'](_0x1ed960['keys']())['forEach']((_0x273c5b,_0x3971cc)=>{_0x1ed960['set'](_0x273c5b,_0x83b4ab[_0x3971cc][0x1]);});const _0x54eb57=_0x3fe8e4['map'](_0x571014=>{return{'stream':_0x571014['stream'],'depth':_0x1ed960['get'](_0x571014['stream'])||0x0};});return _0x54eb57;}async['trimStream'](_0x407b1b,_0x91bb02){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['IORedisStreamService']=IORedisStreamService;
|