@hotmeshio/hotmesh 0.3.10 → 0.3.12
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 +12 -14
- 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 +22 -18
- 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/meshdata/index.d.ts +4 -3
- package/build/services/meshdata/index.js +3 -2
- package/build/services/meshflow/client.d.ts +1 -0
- package/build/services/meshflow/client.js +18 -6
- package/build/services/meshflow/connection.d.ts +2 -2
- package/build/services/meshflow/connection.js +1 -1
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.d.ts +2 -1
- package/build/services/meshflow/worker.js +27 -16
- package/build/services/meshos/index.d.ts +2 -1
- package/build/services/meshos/index.js +7 -4
- 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/factory.d.ts +2 -2
- package/build/services/search/factory.js +8 -4
- package/build/services/search/providers/postgres/postgres.d.ts +21 -0
- package/build/services/search/providers/postgres/postgres.js +1 -0
- 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 +156 -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/manifest.d.ts +12 -3
- package/build/types/meshflow.d.ts +2 -2
- package/build/types/postgres.d.ts +1 -0
- package/build/types/provider.d.ts +51 -1
- package/package.json +22 -18
- package/types/hotmesh.ts +15 -0
- package/types/manifest.ts +12 -3
- package/types/meshflow.ts +2 -2
- package/types/postgres.ts +2 -0
- package/types/provider.ts +81 -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
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { KeyStoreParams, KeyType } from '../../../../modules/key';
|
|
2
|
+
import { ILogger } from '../../../logger';
|
|
3
|
+
import { ActivityType, Consumes } from '../../../../types/activity';
|
|
4
|
+
import { AppVID } from '../../../../types/app';
|
|
5
|
+
import { HookRule, HookSignal } from '../../../../types/hook';
|
|
6
|
+
import { HotMeshApp, HotMeshApps, HotMeshSettings } from '../../../../types/hotmesh';
|
|
7
|
+
import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
|
|
8
|
+
import { SymbolSets, StringStringType, StringAnyType, Symbols } from '../../../../types/serializer';
|
|
9
|
+
import { IdsData, JobStatsRange, StatsType } from '../../../../types/stats';
|
|
10
|
+
import { Transitions } from '../../../../types/transition';
|
|
11
|
+
import { JobInterruptOptions } from '../../../../types/job';
|
|
12
|
+
import { WorkListTaskType } from '../../../../types/task';
|
|
13
|
+
import { ThrottleOptions } from '../../../../types/quorum';
|
|
14
|
+
import { StoreService } from '../..';
|
|
15
|
+
import { KVSQL } from './kvsql';
|
|
16
|
+
import { PostgresClientType } from '../../../../types';
|
|
17
|
+
declare class PostgresStoreService extends StoreService<ProviderClient, ProviderTransaction> {
|
|
18
|
+
pgClient: PostgresClientType;
|
|
19
|
+
transact(): ProviderTransaction;
|
|
20
|
+
constructor(storeClient: ProviderClient);
|
|
21
|
+
init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
|
|
22
|
+
deploy(appName: string): Promise<void>;
|
|
23
|
+
getAdvisoryLockId(appName: string): number;
|
|
24
|
+
hashStringToInt(str: string): number;
|
|
25
|
+
waitForTablesCreation(client: PostgresClientType, lockId: number, appName: string): Promise<void>;
|
|
26
|
+
checkIfTablesExist(client: PostgresClientType, appName: string): Promise<boolean>;
|
|
27
|
+
createTables(client: PostgresClientType, appName: string): Promise<void>;
|
|
28
|
+
getTableNames(appName: string): string[];
|
|
29
|
+
getTableDefinitions(appName: string): Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
type: string;
|
|
32
|
+
}>;
|
|
33
|
+
isSuccessful(result: any): boolean;
|
|
34
|
+
delistSignalKey(key: string, target: string): Promise<void>;
|
|
35
|
+
zAdd(key: string, score: number | string, value: string | number, transaction?: ProviderTransaction): Promise<any>;
|
|
36
|
+
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
37
|
+
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
38
|
+
kvsql(transaction?: ProviderTransaction): KVSQL;
|
|
39
|
+
invalidateCache(): void;
|
|
40
|
+
reserveScoutRole(scoutType: 'time' | 'signal' | 'activate', delay?: number): Promise<boolean>;
|
|
41
|
+
releaseScoutRole(scoutType: 'time' | 'signal' | 'activate'): Promise<boolean>;
|
|
42
|
+
getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
|
|
43
|
+
setSettings(manifest: HotMeshSettings): Promise<any>;
|
|
44
|
+
reserveSymbolRange(target: string, size: number, type: 'JOB' | 'ACTIVITY', tryCount?: number): Promise<[number, number, Symbols]>;
|
|
45
|
+
getAllSymbols(): Promise<Symbols>;
|
|
46
|
+
getSymbols(activityId: string): Promise<Symbols>;
|
|
47
|
+
addSymbols(activityId: string, symbols: Symbols): Promise<boolean>;
|
|
48
|
+
seedSymbols(target: string, type: 'JOB' | 'ACTIVITY', startIndex: number): StringStringType;
|
|
49
|
+
seedJobSymbols(startIndex: number): StringStringType;
|
|
50
|
+
seedActivitySymbols(startIndex: number, activityId: string): StringStringType;
|
|
51
|
+
getSymbolValues(): Promise<Symbols>;
|
|
52
|
+
addSymbolValues(symvals: Symbols): Promise<boolean>;
|
|
53
|
+
getSymbolKeys(symbolNames: string[]): Promise<SymbolSets>;
|
|
54
|
+
getApp(id: string, refresh?: boolean): Promise<HotMeshApp>;
|
|
55
|
+
setApp(id: string, version: string): Promise<HotMeshApp>;
|
|
56
|
+
activateAppVersion(id: string, version: string): Promise<boolean>;
|
|
57
|
+
registerAppVersion(appId: string, version: string): Promise<any>;
|
|
58
|
+
setStats(jobKey: string, jobId: string, dateTime: string, stats: StatsType, appVersion: AppVID, transaction?: ProviderTransaction): Promise<any>;
|
|
59
|
+
hGetAllResult(result: any): any;
|
|
60
|
+
getJobStats(jobKeys: string[]): Promise<JobStatsRange>;
|
|
61
|
+
getJobIds(indexKeys: string[], idRange: [number, number]): Promise<IdsData>;
|
|
62
|
+
setStatus(collationKeyStatus: number, jobId: string, appId: string, transaction?: ProviderTransaction): Promise<any>;
|
|
63
|
+
getStatus(jobId: string, appId: string): Promise<number>;
|
|
64
|
+
setState({ ...state }: StringAnyType, status: number | null, jobId: string, symbolNames: string[], dIds: StringStringType, transaction?: ProviderTransaction): Promise<string>;
|
|
65
|
+
getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
|
|
66
|
+
getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
|
|
67
|
+
getRaw(jobId: string): Promise<StringStringType>;
|
|
68
|
+
collate(jobId: string, activityId: string, amount: number, dIds: StringStringType, transaction?: ProviderTransaction): Promise<number>;
|
|
69
|
+
collateSynthetic(jobId: string, guid: string, amount: number, transaction?: ProviderTransaction): Promise<number>;
|
|
70
|
+
setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
|
|
71
|
+
getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
|
|
72
|
+
getSchemas(appVersion: AppVID): Promise<Record<string, ActivityType>>;
|
|
73
|
+
setSchemas(schemas: Record<string, ActivityType>, appVersion: AppVID): Promise<any>;
|
|
74
|
+
setSubscriptions(subscriptions: Record<string, any>, appVersion: AppVID): Promise<boolean>;
|
|
75
|
+
getSubscriptions(appVersion: AppVID): Promise<Record<string, string>>;
|
|
76
|
+
getSubscription(topic: string, appVersion: AppVID): Promise<string | undefined>;
|
|
77
|
+
setTransitions(transitions: Record<string, any>, appVersion: AppVID): Promise<any>;
|
|
78
|
+
getTransitions(appVersion: AppVID): Promise<Transitions>;
|
|
79
|
+
setHookRules(hookRules: Record<string, HookRule[]>): Promise<any>;
|
|
80
|
+
getHookRules(): Promise<Record<string, HookRule[]>>;
|
|
81
|
+
setHookSignal(hook: HookSignal, transaction?: ProviderTransaction): Promise<any>;
|
|
82
|
+
getHookSignal(topic: string, resolved: string): Promise<string | undefined>;
|
|
83
|
+
deleteHookSignal(topic: string, resolved: string): Promise<number | undefined>;
|
|
84
|
+
addTaskQueues(keys: string[]): Promise<void>;
|
|
85
|
+
getActiveTaskQueue(): Promise<string | null>;
|
|
86
|
+
deleteProcessedTaskQueue(workItemKey: string, key: string, processedKey: string, scrub?: boolean): Promise<void>;
|
|
87
|
+
processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
|
|
88
|
+
expireJob(jobId: string, inSeconds: number, transaction?: ProviderTransaction): Promise<void>;
|
|
89
|
+
getDependencies(jobId: string): Promise<string[]>;
|
|
90
|
+
registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: ProviderTransaction): Promise<void>;
|
|
91
|
+
getNextTask(listKey?: string): Promise<[
|
|
92
|
+
listKey: string,
|
|
93
|
+
jobId: string,
|
|
94
|
+
gId: string,
|
|
95
|
+
activityId: string,
|
|
96
|
+
type: WorkListTaskType
|
|
97
|
+
] | boolean>;
|
|
98
|
+
resolveTaskKeyContext(listKey: string): [WorkListTaskType, string];
|
|
99
|
+
interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
|
|
100
|
+
scrub(jobId: string): Promise<void>;
|
|
101
|
+
findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
|
|
102
|
+
findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, Record<string, string>]>;
|
|
103
|
+
setThrottleRate(options: ThrottleOptions): Promise<void>;
|
|
104
|
+
getThrottleRates(): Promise<StringStringType>;
|
|
105
|
+
getThrottleRate(topic: string): Promise<number>;
|
|
106
|
+
}
|
|
107
|
+
export { PostgresStoreService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';(function(_0x928fe3,_0x4a6e52){const _0x260f5d=_0x5cd3,_0x465488=_0x928fe3();while(!![]){try{const _0x57b086=parseInt(_0x260f5d(0xae))/0x1*(-parseInt(_0x260f5d(0xaf))/0x2)+-parseInt(_0x260f5d(0xac))/0x3+-parseInt(_0x260f5d(0xa6))/0x4*(parseInt(_0x260f5d(0xa9))/0x5)+parseInt(_0x260f5d(0xa7))/0x6+parseInt(_0x260f5d(0xab))/0x7*(-parseInt(_0x260f5d(0xad))/0x8)+parseInt(_0x260f5d(0xaa))/0x9*(parseInt(_0x260f5d(0xa8))/0xa)+parseInt(_0x260f5d(0xb0))/0xb;if(_0x57b086===_0x4a6e52)break;else _0x465488['push'](_0x465488['shift']());}catch(_0x775959){_0x465488['push'](_0x465488['shift']());}}}(_0x113e,0xb6022));function _0x113e(){const _0xcffb7f=['1329488TaLYmn','5793276nnzGFg','370GORhGO','15EsXUyW','292473wosdyT','7009471ZSuXol','3578886GsTJGf','8KXBqRJ','1WYHanG','2852838cJduKM','35149631OmvfXb'];_0x113e=function(){return _0xcffb7f;};return _0x113e();}var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x231c8f,_0x22bdbd,_0x16a549,_0x3542d6){if(_0x3542d6===undefined)_0x3542d6=_0x16a549;var _0x13e8c0=Object['getOwnPropertyDescriptor'](_0x22bdbd,_0x16a549);(!_0x13e8c0||('get'in _0x13e8c0?!_0x22bdbd['__esModule']:_0x13e8c0['writable']||_0x13e8c0['configurable']))&&(_0x13e8c0={'enumerable':!![],'get':function(){return _0x22bdbd[_0x16a549];}}),Object['defineProperty'](_0x231c8f,_0x3542d6,_0x13e8c0);}:function(_0x31380c,_0x34a4fa,_0x5f4837,_0x5b4ec5){if(_0x5b4ec5===undefined)_0x5b4ec5=_0x5f4837;_0x31380c[_0x5b4ec5]=_0x34a4fa[_0x5f4837];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1e6eb4,_0x4076b6){Object['defineProperty'](_0x1e6eb4,'default',{'enumerable':!![],'value':_0x4076b6});}:function(_0x3b6cc9,_0x218344){_0x3b6cc9['default']=_0x218344;}),__importStar=this&&this['__importStar']||function(_0x2bfdc4){if(_0x2bfdc4&&_0x2bfdc4['__esModule'])return _0x2bfdc4;var _0x5ecba3={};if(_0x2bfdc4!=null){for(var _0x3319c1 in _0x2bfdc4)if(_0x3319c1!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x2bfdc4,_0x3319c1))__createBinding(_0x5ecba3,_0x2bfdc4,_0x3319c1);}return __setModuleDefault(_0x5ecba3,_0x2bfdc4),_0x5ecba3;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStoreService']=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('../..'),kvsql_1=require('./kvsql');class PostgresStoreService extends __1['StoreService']{['transact'](){return this['storeClient']['transact']();}constructor(_0x2bb3b4){super(_0x2bb3b4),this['pgClient']=_0x2bb3b4,this['storeClient']=new kvsql_1['KVSQL'](_0x2bb3b4,this['namespace'],this['appId']);}async['init'](_0x4b5992=key_1['HMNS'],_0x430f90,_0x32ec86){this['storeClient']['namespace']=this['namespace']=_0x4b5992,this['storeClient']['appId']=this['appId']=_0x430f90,this['logger']=_0x32ec86,await this['deploy'](_0x430f90);const _0x14e42f=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x430f90,_0x14e42f),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x430f90),this['cache']['getApps']();}async['deploy'](_0x121bd9){const _0xb13775=this['pgClient'];try{const _0x4126c2=this['getAdvisoryLockId'](_0x121bd9),_0xa9dd26=await _0xb13775['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x4126c2]);if(_0xa9dd26['rows'][0x0]['locked']){await _0xb13775['query']('BEGIN');const _0x43ebc3=await this['checkIfTablesExist'](_0xb13775,_0x121bd9);!_0x43ebc3&&await this['createTables'](_0xb13775,_0x121bd9),await _0xb13775['query']('COMMIT'),await _0xb13775['query']('SELECT\x20pg_advisory_unlock($1)',[_0x4126c2]);}else await this['waitForTablesCreation'](_0xb13775,_0x4126c2,_0x121bd9);}catch(_0x3297b3){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x3297b3});throw _0x3297b3;}}['getAdvisoryLockId'](_0x5ac700){return this['hashStringToInt'](_0x5ac700);}['hashStringToInt'](_0x1d7361){let _0x308e7f=0x0;for(let _0x505413=0x0;_0x505413<_0x1d7361['length'];_0x505413++){_0x308e7f=(_0x308e7f<<0x5)-_0x308e7f+_0x1d7361['charCodeAt'](_0x505413),_0x308e7f|=0x0;}return Math['abs'](_0x308e7f);}async['waitForTablesCreation'](_0x611ab1,_0x47e0e0,_0xf45b56){let _0x3fe44a=0x0;const _0x485113=0x14;while(_0x3fe44a<_0x485113){await(0x0,utils_1['sleepFor'])(0x96);const _0xe6304c=await _0x611ab1['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x47e0e0]);if(_0xe6304c['rows'][0x0]['unlocked']){const _0x1449b5=await this['checkIfTablesExist'](_0x611ab1,_0xf45b56);if(_0x1449b5)return;}_0x3fe44a++;}throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}async['checkIfTablesExist'](_0x6eb341,_0x3bd6c8){const _0x2edd13=this['getTableNames'](_0x3bd6c8),_0x38abb8=_0x2edd13['map'](_0x29dc8a=>_0x6eb341['query']('SELECT\x20to_regclass(\x27public.'+_0x29dc8a+'\x27)\x20AS\x20table')),_0x54dc80=await Promise['all'](_0x38abb8);return _0x54dc80['every'](_0x4ad46d=>_0x4ad46d['rows'][0x0]['table']!==null);}async['createTables'](_0x1d7ec4,_0x20f3bb){await _0x1d7ec4['query']('BEGIN');const _0x45f780=this['getTableDefinitions'](this['storeClient']['safeName'](_0x20f3bb));for(const _0x291426 of _0x45f780){switch(_0x291426['type']){case'string':await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x291426['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'hash':await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x291426['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'jobhash':await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_type\x20WHERE\x20typname\x20=\x20\x27type_enum\x27)\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TYPE\x20type_enum\x20AS\x20ENUM\x20(\x27jmark\x27,\x20\x27hmark\x27,\x20\x27status\x27,\x20\x27jdata\x27,\x20\x27adata\x27,\x20\x27udata\x27,\x20\x27other\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x291426['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20type_enum,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(key);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');for(let _0x37192f=0x0;_0x37192f<0x8;_0x37192f++){await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x291426['name']+'_part_'+_0x37192f+'\x20PARTITION\x20OF\x20'+_0x291426['name']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x37192f+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');}await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x291426['name']+'_key_type\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x291426['name']+'\x20(key,\x20type);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x291426['name']+'_type\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x291426['name']+'\x20(type);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x291426['name']+'_key_x_type_jmark\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x291426['name']+'\x20(key,\x20type)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20\x27x\x27\x20AND\x20type\x20=\x20\x27jmark\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'list':await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x291426['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20index\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x291426['name']+'_key_expiry\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x291426['name']+'\x20(key,\x20expiry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'sorted_set':await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x291426['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20member\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20score\x20DOUBLE\x20PRECISION\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20member)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x1d7ec4['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x291426['name']+'_key_score_member\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x291426['name']+'\x20(key,\x20score,\x20member);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;default:this['logger']['warn']('Unknown\x20table\x20type\x20for\x20'+_0x291426['name']);break;}}await _0x1d7ec4['query']('COMMIT');}['getTableNames'](_0x513b90){const _0x3fb325=[];_0x3fb325['push']('hotmesh_applications','hotmesh_connections');const _0x53954f=['throttles','roles','task_priorities','task_schedules','task_lists','events','jobs','stats_counted','stats_indexed','stats_ordered','versions','signal_patterns','signal_registry','symbols'];return _0x53954f['forEach'](_0x120b36=>{_0x3fb325['push']('hotmesh_'+this['storeClient']['safeName'](_0x513b90)+'_'+_0x120b36);}),_0x3fb325;}['getTableDefinitions'](_0x4db915){const _0x5c803e=[{'name':'hotmesh_applications','type':'hash'},{'name':'hotmesh_connections','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_throttles','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_roles','type':'string'},{'name':'hotmesh_'+_0x4db915+'_task_schedules','type':'sorted_set'},{'name':'hotmesh_'+_0x4db915+'_task_priorities','type':'sorted_set'},{'name':'hotmesh_'+_0x4db915+'_task_lists','type':'list'},{'name':'hotmesh_'+_0x4db915+'_events','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_jobs','type':'jobhash'},{'name':'hotmesh_'+_0x4db915+'_stats_counted','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_stats_ordered','type':'sorted_set'},{'name':'hotmesh_'+_0x4db915+'_stats_indexed','type':'list'},{'name':'hotmesh_'+_0x4db915+'_versions','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_signal_patterns','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_symbols','type':'hash'},{'name':'hotmesh_'+_0x4db915+'_signal_registry','type':'string'}];return _0x5c803e;}['isSuccessful'](_0x29dfc2){return _0x29dfc2>0x0||_0x29dfc2==='OK'||_0x29dfc2===!![];}async['delistSignalKey'](_0x3517a5,_0x2b2151){await this['kvsql']()['del'](_0x3517a5+':'+_0x2b2151);}async['zAdd'](_0x33e302,_0x5525aa,_0x30598a,_0x32e271){return await this['kvsql'](_0x32e271)['zadd'](_0x33e302,Number(_0x5525aa),_0x30598a['toString']());}async['zRangeByScore'](_0x4d8258,_0x2e309a,_0x2e7895){const _0xafe389=await this['kvsql']()['zrangebyscore'](_0x4d8258,Number(_0x2e309a),Number(_0x2e7895));if(_0xafe389?.['length']>0x0)return _0xafe389[0x0];return null;}['mintKey'](_0x27cc27,_0x3ebf1f){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x27cc27,_0x3ebf1f);}['kvsql'](_0x4a063e){return _0x4a063e||this['storeClient'];}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x21a5ca,_0x461178=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x16d1d9=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x21a5ca}),_0x5d1904=await this['kvsql']()['set'](_0x16d1d9,_0x21a5ca+':'+(0x0,utils_1['formatISODate'])(new Date()),{'nx':!![],'ex':_0x461178-0x1});return this['isSuccessful'](_0x5d1904);}async['releaseScoutRole'](_0x4a66b0){const _0x5b8b79=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x4a66b0}),_0x1d0823=await this['kvsql']()['del'](_0x5b8b79);return this['isSuccessful'](_0x1d0823);}async['getSettings'](_0x2e8cb4=![]){let _0x30ce82=this['cache']?.['getSettings']();if(_0x30ce82)return _0x30ce82;else{if(_0x2e8cb4){const _0x46fd01=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x4eadb7=_0x46fd01['version']||'0.0.0';return _0x30ce82={'namespace':key_1['HMNS'],'version':_0x4eadb7},await this['setSettings'](_0x30ce82),_0x30ce82;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x327ef7){const _0x4dbddd={},_0x2c72ff=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x4dbddd);return await this['kvsql']()['hset'](_0x2c72ff,_0x327ef7);}async['reserveSymbolRange'](_0x4258d3,_0x49ea55,_0x59f776,_0x4317cd=0x1){const _0x543068=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x47c534=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x4258d3,'appId':this['appId']}),_0xa43ef1=await this['kvsql']()['hsetnx'](_0x543068,_0x4258d3,'?:?');if(_0xa43ef1){const _0x9cada5=await this['kvsql']()['hincrbyfloat'](_0x543068,':cursor',_0x49ea55),_0x413425=_0x9cada5-_0x49ea55,_0x4dc28a=_0x413425+':'+(_0x9cada5-0x1);await this['kvsql']()['hset'](_0x543068,{[_0x4258d3]:_0x4dc28a});const _0x300446=this['seedSymbols'](_0x4258d3,_0x59f776,_0x413425);return await this['kvsql']()['hset'](_0x47c534,_0x300446),[_0x413425+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x9cada5-0x1,{}];}else{const _0x5ed08d=await this['kvsql']()['hget'](_0x543068,_0x4258d3),[_0x3f031b]=_0x5ed08d['split'](':');if(_0x3f031b==='?'){await(0x0,utils_1['sleepFor'])(_0x4317cd*0x3e8);if(_0x4317cd<0x5)return this['reserveSymbolRange'](_0x4258d3,_0x49ea55,_0x59f776,_0x4317cd+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x5e5197=parseInt(_0x3f031b,0xa),_0x39c48e=await this['kvsql']()['hgetall'](_0x47c534),_0x2d428b=Object['keys'](_0x39c48e)['length'],_0x460b09=_0x5e5197+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x2d428b,_0x2bd4e4=Number(_0x5e5197+_0x49ea55-0x1);return[_0x460b09,_0x2bd4e4,_0x39c48e];}}}async['getAllSymbols'](){const _0x12a0f2=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x3c16ea=await this['kvsql']()['hgetall'](_0x12a0f2),_0x20b248=Object['keys'](_0x3c16ea)['sort']();delete _0x20b248[':cursor'];const _0xfd911a=this['kvsql'](this['transact']());for(const _0x9f114c of _0x20b248){const _0x2ab8be=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x9f114c,'appId':this['appId']});_0xfd911a['hgetall'](_0x2ab8be);}const _0x3f6083=await _0xfd911a['exec'](),_0x51f590={};return _0x3f6083['forEach']((_0x47b343,_0x883d62)=>{if(_0x47b343){let _0x3aaf9e;Array['isArray'](_0x47b343)&&_0x47b343['length']===0x2?_0x3aaf9e=_0x47b343[0x1]:_0x3aaf9e=_0x47b343;for(const [_0x524c12,_0xa1cf88]of Object['entries'](_0x3aaf9e)){_0x51f590[_0xa1cf88]=_0x524c12['startsWith'](_0x20b248[_0x883d62])?_0x524c12:_0x20b248[_0x883d62]+'/'+_0x524c12;}}}),_0x51f590;}async['getSymbols'](_0x33aa68){let _0xcedfc6=this['cache']['getSymbols'](this['appId'],_0x33aa68);if(_0xcedfc6)return _0xcedfc6;else{const _0x2f5654={'activityId':_0x33aa68,'appId':this['appId']},_0x33fd87=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x2f5654);return _0xcedfc6=await this['kvsql']()['hgetall'](_0x33fd87),this['cache']['setSymbols'](this['appId'],_0x33aa68,_0xcedfc6),_0xcedfc6;}}async['addSymbols'](_0x5ca4a0,_0x51e49a){if(!_0x51e49a||!Object['keys'](_0x51e49a)['length'])return![];const _0x3e6c73={'activityId':_0x5ca4a0,'appId':this['appId']},_0x52f28d=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x3e6c73),_0x2d4609=await this['kvsql']()['hset'](_0x52f28d,_0x51e49a);return this['cache']['deleteSymbols'](this['appId'],_0x5ca4a0),_0x2d4609>0x0;}['seedSymbols'](_0x3d956a,_0xc60472,_0x11d905){if(_0xc60472==='JOB')return this['seedJobSymbols'](_0x11d905);return this['seedActivitySymbols'](_0x11d905,_0x3d956a);}['seedJobSymbols'](_0x1fccb8){const _0x2e7aef={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x5e7cbd=>{_0x2e7aef['metadata/'+_0x5e7cbd]=(0x0,utils_1['getSymKey'])(_0x1fccb8),_0x1fccb8++;}),_0x2e7aef;}['seedActivitySymbols'](_0x173975,_0x3ae44e){const _0x309a64={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x59a3ce=>{_0x309a64[_0x3ae44e+'/output/metadata/'+_0x59a3ce]=(0x0,utils_1['getSymKey'])(_0x173975),_0x173975++;}),_0x309a64;}async['getSymbolValues'](){let _0x211fbe=this['cache']['getSymbolValues'](this['appId']);if(_0x211fbe)return _0x211fbe;else{const _0x22d34a=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x211fbe=await this['kvsql']()['hgetall'](_0x22d34a),this['cache']['setSymbolValues'](this['appId'],_0x211fbe),_0x211fbe;}}async['addSymbolValues'](_0x1e1c35){if(!_0x1e1c35||!Object['keys'](_0x1e1c35)['length'])return![];const _0x370e8b=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x2453b5=await this['kvsql']()['hset'](_0x370e8b,_0x1e1c35);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x2453b5);}async['getSymbolKeys'](_0x285408){const _0x15bb13=[];for(const _0x2ccefe of _0x285408){_0x15bb13['push'](this['getSymbols'](_0x2ccefe));}const _0x40e9fe=await Promise['all'](_0x15bb13),_0x5422f2={};for(const _0xf8d2f1 of _0x285408){_0x5422f2[_0xf8d2f1]=_0x40e9fe['shift']();}return _0x5422f2;}async['getApp'](_0x28687d,_0x5cc7d6=![]){let _0xb3cf68=this['cache']['getApp'](_0x28687d);if(_0x5cc7d6||!(_0xb3cf68&&Object['keys'](_0xb3cf68)['length']>0x0)){const _0x3a5c54={'appId':_0x28687d},_0x123476=this['mintKey'](key_1['KeyType']['APP'],_0x3a5c54),_0x23f133=await this['kvsql']()['hgetall'](_0x123476);if(!_0x23f133)return null;_0xb3cf68={};for(const _0x433548 in _0x23f133){try{_0x433548==='active'?_0xb3cf68[_0x433548]=_0x23f133[_0x433548]==='true':_0xb3cf68[_0x433548]=_0x23f133[_0x433548];}catch(_0x586efc){_0xb3cf68[_0x433548]=_0x23f133[_0x433548];}}this['cache']['setApp'](_0x28687d,_0xb3cf68);}return _0xb3cf68;}async['setApp'](_0x24416c,_0x78bcf8){const _0x47d5c3={'appId':_0x24416c},_0x4eb6c6=this['mintKey'](key_1['KeyType']['APP'],_0x47d5c3),_0x126d0f='versions/'+_0x78bcf8,_0x3206fe={'id':_0x24416c,'version':_0x78bcf8,[_0x126d0f]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x4eb6c6,_0x3206fe),this['cache']['setApp'](_0x24416c,_0x3206fe),_0x3206fe;}async['activateAppVersion'](_0x3bcc7c,_0xb9ad92){const _0x4193e3={'appId':_0x3bcc7c},_0x20375d=this['mintKey'](key_1['KeyType']['APP'],_0x4193e3),_0x107e7d='versions/'+_0xb9ad92,_0x168e9e=await this['getApp'](_0x3bcc7c,!![]);if(_0x168e9e&&_0x168e9e[_0x107e7d]){const _0x43b4a6={'id':_0x3bcc7c,'version':_0xb9ad92['toString'](),[_0x107e7d]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x43b4a6)['forEach'](([_0x1a250b,_0x2af5e2])=>{_0x43b4a6[_0x1a250b]=_0x2af5e2['toString']();}),await this['kvsql']()['hset'](_0x20375d,_0x43b4a6),!![];}throw new Error('Version\x20'+_0xb9ad92+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x3bcc7c);}async['registerAppVersion'](_0x27a725,_0x285524){const _0x170c55={'appId':_0x27a725},_0x206b84=this['mintKey'](key_1['KeyType']['APP'],_0x170c55),_0xb160e={'id':_0x27a725,'version':_0x285524['toString'](),['versions/'+_0x285524]:(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x206b84,_0xb160e);}async['setStats'](_0x24f1c3,_0x419c85,_0x27e6ec,_0x160eb8,_0x314b28,_0x10fe2a){const _0x3aa6fe={'appId':_0x314b28['id'],'jobId':_0x419c85,'jobKey':_0x24f1c3,'dateTime':_0x27e6ec},_0x2d3cd1=_0x10fe2a||this['transact']();if(_0x160eb8['general']['length']){const _0x2befb1=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x3aa6fe);for(const {target:_0x32f325,value:_0x588eb8}of _0x160eb8['general']){this['kvsql'](_0x2d3cd1)['hincrbyfloat'](_0x2befb1,_0x32f325,_0x588eb8);}}for(const {target:_0x44a206,value:_0x517df8}of _0x160eb8['index']){const _0x5d5cdb={..._0x3aa6fe,'facet':_0x44a206},_0x55ec6e=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x5d5cdb);this['kvsql'](_0x2d3cd1)['rpush'](_0x55ec6e,_0x517df8['toString']());}for(const {target:_0x93105c,value:_0x3376e5}of _0x160eb8['median']){const _0x4775c7={..._0x3aa6fe,'facet':_0x93105c},_0x164f27=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x4775c7);await this['kvsql'](_0x2d3cd1)['zadd'](_0x164f27,Number(_0x3376e5),_0x93105c);}if(!_0x10fe2a)return await _0x2d3cd1['exec']();}['hGetAllResult'](_0x44d58e){return _0x44d58e;}async['getJobStats'](_0x48c904){const _0x16bf75=this['kvsql'](this['transact']());for(const _0x428234 of _0x48c904){_0x16bf75['hgetall'](_0x428234);}const _0x206128=await _0x16bf75['exec'](),_0x4cbcf6={};for(const [_0xa0cef5,_0x552808]of _0x206128['entries']()){const _0x43846a=_0x48c904[_0xa0cef5],_0xcd931a=_0x552808;if(_0xcd931a&&Object['keys'](_0xcd931a)['length']>0x0){const _0x121ecb={..._0xcd931a};for(const [_0x334b6e,_0xb9874e]of Object['entries'](_0x121ecb)){_0x121ecb[_0x334b6e]=Number(_0xb9874e);}_0x4cbcf6[_0x43846a]=_0x121ecb;}else _0x4cbcf6[_0x43846a]={};}return _0x4cbcf6;}async['getJobIds'](_0x2562e5,_0x161b47){const _0x15a7e5=this['kvsql'](this['transact']());for(const _0x44bd80 of _0x2562e5){_0x15a7e5['lrange'](_0x44bd80,_0x161b47[0x0],_0x161b47[0x1]);}const _0x5ecb8e=await _0x15a7e5['exec'](),_0x13e8e8={};for(const [_0x5ac3d6,_0x145558]of _0x5ecb8e['entries']()){const _0x42691b=_0x2562e5[_0x5ac3d6],_0x1569ad=_0x145558[0x1]||_0x145558;_0x1569ad&&_0x1569ad['length']>0x0?_0x13e8e8[_0x42691b]=_0x1569ad:_0x13e8e8[_0x42691b]=[];}return _0x13e8e8;}async['setStatus'](_0x420b90,_0xfb262b,_0x31028,_0x53fc4e){const _0x316f0a=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x31028,'jobId':_0xfb262b});return await this['kvsql'](_0x53fc4e)['hincrbyfloat'](_0x316f0a,':',_0x420b90);}async['getStatus'](_0x461cb2,_0x5c107d){const _0x1e40e4=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x5c107d,'jobId':_0x461cb2}),_0xbd50da=await this['kvsql']()['hget'](_0x1e40e4,':');if(_0xbd50da===null)throw new Error('Job\x20'+_0x461cb2+'\x20not\x20found');return Number(_0xbd50da);}async['setState']({..._0x5443af},_0x451f78,_0x2ccfb7,_0x3f924f,_0x3a5b1f,_0x480c9d){delete _0x5443af['metadata/js'];const _0x197a86=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2ccfb7}),_0x34c288=await this['getSymbolKeys'](_0x3f924f),_0x4de51b=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x34c288,_0x4de51b,_0x3a5b1f);const _0x2d0502=this['serializer']['package'](_0x5443af,_0x3f924f);return _0x451f78!==null?_0x2d0502[':']=_0x451f78['toString']():delete _0x2d0502[':'],await this['kvsql'](_0x480c9d)['hset'](_0x197a86,_0x2d0502),_0x2ccfb7;}async['getQueryState'](_0x21560f,_0x1648c8){const _0x5b9df8=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x21560f}),_0x24c461=_0x1648c8['map'](_0x5a7ee3=>{if(_0x5a7ee3['startsWith']('\x22'))return _0x5a7ee3['slice'](0x1,-0x1);return'_'+_0x5a7ee3;}),_0x3ae67c=await this['kvsql']()['hmget'](_0x5b9df8,_0x24c461),_0x2fcbcb={};return _0x1648c8['forEach']((_0x125cc9,_0x2c7284)=>{_0x125cc9['startsWith']('\x22')&&(_0x125cc9=_0x125cc9['slice'](0x1,-0x1)),_0x2fcbcb[_0x125cc9]=_0x3ae67c[_0x2c7284];}),_0x2fcbcb;}async['getState'](_0x377e80,_0x4d6759,_0x2838a0){const _0x2e7239=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x377e80}),_0x44b4ae=Object['keys'](_0x4d6759),_0x237c24=await this['getSymbolKeys'](_0x44b4ae);this['serializer']['resetSymbols'](_0x237c24,{},_0x2838a0);const _0x5af4bc=this['serializer']['abbreviate'](_0x4d6759,_0x44b4ae,[':']),_0x1b835b=await this['kvsql']()['hmget'](_0x2e7239,_0x5af4bc),_0x1af1db={};let _0x4163ff=![];_0x5af4bc['forEach']((_0x5e8529,_0x3ebdf1)=>{_0x1b835b[_0x3ebdf1]&&(_0x4163ff=!![]),_0x1af1db[_0x5e8529]=_0x1b835b[_0x3ebdf1];});if(_0x4163ff){const _0xfa2391=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x237c24,_0xfa2391,_0x2838a0);const _0x493f44=this['serializer']['unpackage'](_0x1af1db,_0x44b4ae);let _0xf10200=0x0;return _0x493f44[':']&&(_0xf10200=Number(_0x493f44[':']),_0x493f44['metadata/js']=_0xf10200,delete _0x493f44[':']),[_0x493f44,_0xf10200];}else throw new errors_1['GetStateError'](_0x377e80);}async['getRaw'](_0x225267){const _0x38a038=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x225267}),_0x3f7151=await this['kvsql']()['hgetall'](_0x38a038);if(!_0x3f7151)throw new errors_1['GetStateError'](_0x225267);return _0x3f7151;}async['collate'](_0x5a9941,_0x32aee1,_0x5d55b2,_0x6201e6,_0x11fe03){const _0x20c84f=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5a9941}),_0x5d3856=_0x32aee1+'/output/metadata/as',_0x5ec9c0=[_0x32aee1],_0x2b0f59=await this['getSymbolKeys'](_0x5ec9c0),_0x44b816=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x2b0f59,_0x44b816,_0x6201e6);const _0xca24ee={[_0x5d3856]:_0x5d55b2['toString']()},_0x4354a5=this['serializer']['package'](_0xca24ee,_0x5ec9c0),_0x5e3fe1=Object['keys'](_0x4354a5)[0x0];return await this['kvsql'](_0x11fe03)['hincrbyfloat'](_0x20c84f,_0x5e3fe1,_0x5d55b2);}async['collateSynthetic'](_0x2d3d41,_0x3e639a,_0x42e939,_0x4ac3f8){const _0xb24e5c=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2d3d41});return await this['kvsql'](_0x4ac3f8)['hincrbyfloat'](_0xb24e5c,_0x3e639a,_0x42e939);}async['setStateNX'](_0x14bfca,_0x1f6a2f,_0x24f78e){const _0x2d7815=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x1f6a2f,'jobId':_0x14bfca}),_0x4c5655=await this['kvsql']()['hsetnx'](_0x2d7815,':',_0x24f78e?.['toString']()??'1');return this['isSuccessful'](_0x4c5655);}async['getSchema'](_0x549cde,_0xdb6481){const _0x576a79=this['cache']['getSchema'](_0xdb6481['id'],_0xdb6481['version'],_0x549cde);if(_0x576a79)return _0x576a79;else{const _0x42be5a=await this['getSchemas'](_0xdb6481);return _0x42be5a[_0x549cde];}}async['getSchemas'](_0x35a8c4){let _0x48e018=this['cache']['getSchemas'](_0x35a8c4['id'],_0x35a8c4['version']);if(_0x48e018&&Object['keys'](_0x48e018)['length']>0x0)return _0x48e018;else{const _0x46889={'appId':_0x35a8c4['id'],'appVersion':_0x35a8c4['version']},_0x33f840=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x46889);_0x48e018={};const _0xd45e3=await this['kvsql']()['hgetall'](_0x33f840);return Object['entries'](_0xd45e3)['forEach'](([_0x4aba6c,_0x414d6e])=>{_0x48e018[_0x4aba6c]=JSON['parse'](_0x414d6e);}),this['cache']['setSchemas'](_0x35a8c4['id'],_0x35a8c4['version'],_0x48e018),_0x48e018;}}async['setSchemas'](_0x194384,_0x56b353){const _0xcb3b7a={'appId':_0x56b353['id'],'appVersion':_0x56b353['version']},_0x2a3fef=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0xcb3b7a),_0x218d4d={..._0x194384};Object['entries'](_0x218d4d)['forEach'](([_0x9f4b64,_0x453645])=>{_0x218d4d[_0x9f4b64]=JSON['stringify'](_0x453645);});const _0x26f833=await this['kvsql']()['hset'](_0x2a3fef,_0x218d4d);return this['cache']['setSchemas'](_0x56b353['id'],_0x56b353['version'],_0x194384),_0x26f833;}async['setSubscriptions'](_0x7b60ca,_0xdd4b50){const _0xe0b3b9={'appId':_0xdd4b50['id'],'appVersion':_0xdd4b50['version']},_0x5bc574=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0xe0b3b9),_0x4ab895={..._0x7b60ca};Object['entries'](_0x4ab895)['forEach'](([_0x29d490,_0x1d1351])=>{_0x4ab895[_0x29d490]=JSON['stringify'](_0x1d1351);});const _0x17d170=await this['kvsql']()['hset'](_0x5bc574,_0x4ab895);return this['cache']['setSubscriptions'](_0xdd4b50['id'],_0xdd4b50['version'],_0x7b60ca),this['isSuccessful'](_0x17d170);}async['getSubscriptions'](_0x29f53e){let _0x87c418=this['cache']['getSubscriptions'](_0x29f53e['id'],_0x29f53e['version']);if(_0x87c418&&Object['keys'](_0x87c418)['length']>0x0)return _0x87c418;else{const _0x34a5b9={'appId':_0x29f53e['id'],'appVersion':_0x29f53e['version']},_0x21b198=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x34a5b9);return _0x87c418=await this['kvsql']()['hgetall'](_0x21b198)||{},Object['entries'](_0x87c418)['forEach'](([_0x234b6e,_0x3df3aa])=>{_0x87c418[_0x234b6e]=JSON['parse'](_0x3df3aa);}),this['cache']['setSubscriptions'](_0x29f53e['id'],_0x29f53e['version'],_0x87c418),_0x87c418;}}async['getSubscription'](_0x34341f,_0x2c8ccd){const _0x795386=await this['getSubscriptions'](_0x2c8ccd);return _0x795386[_0x34341f];}async['setTransitions'](_0x19cbaa,_0x2cc336){const _0x5ed706={'appId':_0x2cc336['id'],'appVersion':_0x2cc336['version']},_0x893d2f=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x5ed706),_0x4ed047={..._0x19cbaa};Object['entries'](_0x4ed047)['forEach'](([_0x14f48b,_0x5a1139])=>{_0x4ed047[_0x14f48b]=JSON['stringify'](_0x5a1139);});if(Object['keys'](_0x4ed047)['length']!==0x0){const _0x233e88=await this['kvsql']()['hset'](_0x893d2f,_0x4ed047);return this['cache']['setTransitions'](_0x2cc336['id'],_0x2cc336['version'],_0x19cbaa),_0x233e88;}}async['getTransitions'](_0x7bcf19){let _0x18f6c6=this['cache']['getTransitions'](_0x7bcf19['id'],_0x7bcf19['version']);if(_0x18f6c6&&Object['keys'](_0x18f6c6)['length']>0x0)return _0x18f6c6;else{const _0x46522b={'appId':_0x7bcf19['id'],'appVersion':_0x7bcf19['version']},_0x1189e4=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x46522b);_0x18f6c6={};const _0x4b610d=await this['kvsql']()['hgetall'](_0x1189e4);return Object['entries'](_0x4b610d)['forEach'](([_0x17bf24,_0xe971bb])=>{_0x18f6c6[_0x17bf24]=JSON['parse'](_0xe971bb);}),this['cache']['setTransitions'](_0x7bcf19['id'],_0x7bcf19['version'],_0x18f6c6),_0x18f6c6;}}async['setHookRules'](_0x1f8c5b){const _0x48fb03=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x100113={};Object['entries'](_0x1f8c5b)['forEach'](([_0x3afd1a,_0x23a3d7])=>{_0x100113[_0x3afd1a['toString']()]=JSON['stringify'](_0x23a3d7);});if(Object['keys'](_0x100113)['length']!==0x0){const _0x3a9840=await this['kvsql']()['hset'](_0x48fb03,_0x100113);return this['cache']['setHookRules'](this['appId'],_0x1f8c5b),_0x3a9840;}}async['getHookRules'](){let _0x298035=this['cache']['getHookRules'](this['appId']);if(_0x298035&&Object['keys'](_0x298035)['length']>0x0)return _0x298035;else{const _0x3d10e1=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x548a59=await this['kvsql']()['hgetall'](_0x3d10e1);return _0x298035={},Object['entries'](_0x548a59)['forEach'](([_0xef1ba6,_0x1a52c9])=>{_0x298035[_0xef1ba6]=JSON['parse'](_0x1a52c9);}),this['cache']['setHookRules'](this['appId'],_0x298035),_0x298035;}}async['setHookSignal'](_0x964c7f,_0x226ff7){const _0x5d9c04=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x4b30db,resolved:_0x356320,jobId:_0x1a8b41}=_0x964c7f,_0x52c54a=_0x4b30db+':'+_0x356320;await this['kvsql'](_0x226ff7)['setnxex'](_0x5d9c04+':'+_0x52c54a,_0x1a8b41,Math['max'](_0x964c7f['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x2d4b36,_0x1df191){const _0x1db706=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x5434c0=await this['kvsql']()['get'](_0x1db706+':'+_0x2d4b36+':'+_0x1df191);return _0x5434c0?_0x5434c0['toString']():undefined;}async['deleteHookSignal'](_0xdfaf4f,_0x89d431){const _0x28bc3a=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x2281fd=await this['kvsql']()['del'](_0x28bc3a+':'+_0xdfaf4f+':'+_0x89d431);return _0x2281fd?Number(_0x2281fd):undefined;}async['addTaskQueues'](_0x30cbbb){const _0x185cb7=this['kvsql'](this['transact']()),_0x458a2a=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0xa8edc1 of _0x30cbbb){_0x185cb7['zadd'](_0x458a2a,Date['now'](),_0xa8edc1,{'nx':!![]});}await _0x185cb7['exec']();}async['getActiveTaskQueue'](){let _0x3008e4=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x3008e4){const _0x3747ac=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x4458af=await this['kvsql']()['zrange'](_0x3747ac,0x0,0x0);_0x3008e4=_0x4458af['length']>0x0?_0x4458af[0x0]:null,_0x3008e4&&this['cache']['setWorkItem'](this['appId'],_0x3008e4);}return _0x3008e4;}async['deleteProcessedTaskQueue'](_0x2a6d36,_0x58944d,_0x2e90a0,_0x6bd9bc=![]){const _0x5e11cc=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0xfefbb5=await this['kvsql']()['zrem'](_0x5e11cc,_0x2a6d36);_0xfefbb5&&(_0x6bd9bc?(this['kvsql']()['expire'](_0x2e90a0,0x0),this['kvsql']()['expire'](_0x58944d['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['kvsql']()['rename'](_0x2e90a0,_0x58944d)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x4ba992,_0x239bf6){return await this['kvsql']()['lmove'](_0x4ba992,_0x239bf6,'LEFT','RIGHT');}async['expireJob'](_0x19f127,_0x4239ec,_0x4ae038){if(!isNaN(_0x4239ec)&&_0x4239ec>0x0){const _0x23cde2=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x19f127});await this['kvsql'](_0x4ae038)['expire'](_0x23cde2,_0x4239ec);}}async['getDependencies'](_0x4c2fe4){const _0xbe3294={'appId':this['appId'],'jobId':_0x4c2fe4},_0x44b430=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0xbe3294);return this['kvsql']()['lrange'](_0x44b430,0x0,-0x1);}async['registerTimeHook'](_0x5a0f6f,_0x49503f,_0x1dd3b2,_0x27b440,_0x4a0788,_0x5f5a19,_0x16ccea){const _0x96dcdf=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x4a0788}),_0x27753e=[_0x27b440,_0x1dd3b2,_0x49503f,_0x5f5a19,_0x5a0f6f]['join'](key_1['VALSEP']),_0x3f7a8b=await this['kvsql'](_0x16ccea)['rpush'](_0x96dcdf,_0x27753e);if(_0x16ccea||_0x3f7a8b===0x1){const _0xdb29a=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0xdb29a,_0x4a0788['toString'](),_0x96dcdf,_0x16ccea);}}async['getNextTask'](_0x347429){const _0x28fb49=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x347429=_0x347429||await this['zRangeByScore'](_0x28fb49,0x0,Date['now']());if(_0x347429){let [_0x430d24,_0xb0c32e]=this['resolveTaskKeyContext'](_0x347429);const _0x3d3520=await this['kvsql']()['lpop'](_0xb0c32e);if(_0x3d3520){let [_0x4ef974,_0x12e63e,_0x5339fc,_0x19df7c,..._0x3261e7]=_0x3d3520['split'](key_1['VALSEP']);const _0x27950e=_0x3261e7['join'](key_1['VALSEP']);if(_0x4ef974==='delist')_0x430d24='delist';else{if(_0x4ef974==='child')_0x430d24='child';else _0x4ef974==='expire-child'&&(_0x4ef974='expire');}return[_0x347429,_0x27950e,_0x5339fc,_0x12e63e,_0x430d24];}return await this['kvsql']()['zrem'](_0x28fb49,_0x347429),!![];}return![];}['resolveTaskKeyContext'](_0x575a5d){if(_0x575a5d['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x575a5d['split'](key_1['TYPSEP'])[0x2]];else return _0x575a5d['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x575a5d['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x575a5d];}async['interrupt'](_0x910489,_0x4b0d79,_0x3c993a={}){try{const _0x1796c3=await this['getStatus'](_0x4b0d79,this['appId']);if(_0x1796c3<=0x0)throw new Error('Job\x20'+_0x4b0d79+'\x20already\x20completed');const _0x1fd665=-0x3b9aca00,_0x2cc87b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4b0d79}),_0x54581c=await this['kvsql']()['hincrbyfloat'](_0x2cc87b,':',_0x1fd665);if(_0x54581c<=_0x1fd665)throw new Error('Job\x20'+_0x4b0d79+'\x20already\x20completed');if(_0x3c993a['throw']!==![]){const _0xc51dba='metadata/err',_0x52e1b6=['$'+_0x910489],_0x592af6=await this['getSymbolKeys'](_0x52e1b6),_0x40de7a=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x592af6,_0x40de7a,{});const _0x17b7fb=JSON['stringify']({'code':_0x3c993a['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x3c993a['reason']??'job\x20['+_0x4b0d79+']\x20interrupted','stack':_0x3c993a['stack']??'','job_id':_0x4b0d79}),_0x6487bb={[_0xc51dba]:_0x1fd665['toString']()},_0x180bec=this['serializer']['package'](_0x6487bb,_0x52e1b6),_0x1cbbc6=Object['keys'](_0x180bec)[0x0];await this['kvsql']()['hset'](_0x2cc87b,{[_0x1cbbc6]:_0x17b7fb});}}catch(_0x5c0cc1){if(!_0x3c993a['suppress'])throw _0x5c0cc1;else this['logger']['debug']('suppressed-interrupt',{'message':_0x5c0cc1['message']});}}async['scrub'](_0x5016b7){const _0x5c5258=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5016b7});await this['kvsql']()['del'](_0x5c5258);}async['findJobs'](_0x1d9f43='*',_0x2872f2=0x3e8,_0x5dfed7=0x3e8,_0x428ded='0'){const _0x43bf00=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1d9f43}),{cursor:_0xc62b80,keys:_0x5172a0}=await this['kvsql']()['scan'](Number(_0x428ded),_0x2872f2,_0x43bf00);return[_0xc62b80['toPrecision'](),_0x5172a0];}async['findJobFields'](_0x4d485d,_0x264b75='*',_0x2edc25=0x3e8,_0x393c3f=0x3e8,_0x2e15b3='0'){const _0x1c6178={},_0x4ebbb6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4d485d});let _0x1bce41,_0x3586e4;if(_0x264b75['includes'](',')){const _0x13ae3a=/\d[^-]+-/gi,_0x3e9cd1=_0x264b75['match'](_0x13ae3a);_0x3586e4=','+(_0x3e9cd1?.[0x0]??''),_0x1bce41='hmark';}else _0x1bce41='jmark';const _0x5b30c7=parseInt(_0x2e15b3,0xa)||0x0,_0x5db60e=this['kvsql']()['tableForKey'](_0x4ebbb6,'hash'),_0x2bae66=[_0x4ebbb6,_0x1bce41,_0x2edc25,_0x5b30c7],_0xce20a='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+_0x5db60e+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20type\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x20OFFSET\x20$4\x0a\x20\x20\x20\x20',_0x44f867=await this['pgClient']['query'](_0xce20a,_0x2bae66);if(_0x1bce41==='hmark')for(const _0x195185 of _0x44f867['rows']){_0x195185['field']['includes'](_0x3586e4)&&(_0x1c6178[_0x195185['field']]=_0x195185['value']);}else for(const _0x361f5f of _0x44f867['rows']){_0x1c6178[_0x361f5f['field']]=_0x361f5f['value'];}const _0x1071c6=_0x44f867['rows']['length']<_0x2edc25?'0':String(_0x5b30c7+_0x44f867['rows']['length']);return[_0x1071c6,_0x1c6178];}async['setThrottleRate'](_0x4ac89a){const _0x3c0de3=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x4ac89a['guid'])return;const _0x26c47c=_0x4ac89a['throttle']['toString']();if(_0x4ac89a['topic'])await this['kvsql']()['hset'](_0x3c0de3,{[_0x4ac89a['topic']]:_0x26c47c});else{const _0x26db92=this['transact']();_0x26db92['del'](_0x3c0de3),_0x26db92['hset'](_0x3c0de3,{':':_0x26c47c}),await _0x26db92['exec']();}}async['getThrottleRates'](){const _0xa2de03=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x3eb581=await this['kvsql']()['hgetall'](_0xa2de03);return _0x3eb581??{};}async['getThrottleRate'](_0x43482f){const _0x3aa135=(_0x52ad84,_0x4b9ef5)=>{const _0xd3c438=_0x4b9ef5 in _0x52ad84?Number(_0x52ad84[_0x4b9ef5]):0x0;if(isNaN(_0xd3c438))return 0x0;if(_0xd3c438==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0xd3c438,enums_1['MAX_DELAY']),0x0);},_0x1ee737=await this['getThrottleRates'](),_0x28bba3=_0x3aa135(_0x1ee737,':');if(_0x43482f===':'||!(_0x43482f in _0x1ee737))return _0x28bba3;return _0x3aa135(_0x1ee737,_0x43482f);}}function _0x5cd3(_0x18c107,_0x5ab6ee){const _0x113e7f=_0x113e();return _0x5cd3=function(_0x5cd366,_0x42c060){_0x5cd366=_0x5cd366-0xa6;let _0x4a26fd=_0x113e7f[_0x5cd366];return _0x4a26fd;},_0x5cd3(_0x18c107,_0x5ab6ee);}exports['PostgresStoreService']=PostgresStoreService;
|
|
@@ -22,7 +22,6 @@ declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, Tra
|
|
|
22
22
|
isSuccessful(result: any): boolean;
|
|
23
23
|
delistSignalKey(key: string, target: string): Promise<void>;
|
|
24
24
|
zAdd(key: string, score: number | string, value: string | number, redisMulti?: TransactionProvider): Promise<any>;
|
|
25
|
-
zRangeByScoreWithScores(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
26
25
|
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
27
26
|
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
28
27
|
invalidateCache(): void;
|
|
@@ -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(_0xbebcd5,_0x4deff6){const _0x20aac2=_0x522d,_0x166b33=_0xbebcd5();while(!![]){try{const _0x168a8e=parseInt(_0x20aac2(0xe8))/0x1*(-parseInt(_0x20aac2(0xe9))/0x2)+parseInt(_0x20aac2(0xe3))/0x3*(-parseInt(_0x20aac2(0xeb))/0x4)+-parseInt(_0x20aac2(0xe4))/0x5+-parseInt(_0x20aac2(0xea))/0x6+parseInt(_0x20aac2(0xe7))/0x7+parseInt(_0x20aac2(0xe6))/0x8*(-parseInt(_0x20aac2(0xe2))/0x9)+parseInt(_0x20aac2(0xe5))/0xa;if(_0x168a8e===_0x4deff6)break;else _0x166b33['push'](_0x166b33['shift']());}catch(_0x549623){_0x166b33['push'](_0x166b33['shift']());}}}(_0x5027,0xa42f7));var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x4804b8,_0x54777c,_0x8479d2,_0x1a9014){if(_0x1a9014===undefined)_0x1a9014=_0x8479d2;var _0x1b7ac3=Object['getOwnPropertyDescriptor'](_0x54777c,_0x8479d2);(!_0x1b7ac3||('get'in _0x1b7ac3?!_0x54777c['__esModule']:_0x1b7ac3['writable']||_0x1b7ac3['configurable']))&&(_0x1b7ac3={'enumerable':!![],'get':function(){return _0x54777c[_0x8479d2];}}),Object['defineProperty'](_0x4804b8,_0x1a9014,_0x1b7ac3);}:function(_0x39d43c,_0xdb52ff,_0xd64bc0,_0x287c4b){if(_0x287c4b===undefined)_0x287c4b=_0xd64bc0;_0x39d43c[_0x287c4b]=_0xdb52ff[_0xd64bc0];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x61b08a,_0x5f2e20){Object['defineProperty'](_0x61b08a,'default',{'enumerable':!![],'value':_0x5f2e20});}:function(_0x4881b4,_0x4db2da){_0x4881b4['default']=_0x4db2da;}),__importStar=this&&this['__importStar']||function(_0x2a28a2){if(_0x2a28a2&&_0x2a28a2['__esModule'])return _0x2a28a2;var _0x1adaf2={};if(_0x2a28a2!=null){for(var _0x1c9549 in _0x2a28a2)if(_0x1c9549!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x2a28a2,_0x1c9549))__createBinding(_0x1adaf2,_0x2a28a2,_0x1c9549);}return __setModuleDefault(_0x1adaf2,_0x2a28a2),_0x1adaf2;};function _0x522d(_0x5cb37e,_0x3b9d03){const _0x50276f=_0x5027();return _0x522d=function(_0x522dca,_0x568e3d){_0x522dca=_0x522dca-0xe2;let _0x500a57=_0x50276f[_0x522dca];return _0x500a57;},_0x522d(_0x5cb37e,_0x3b9d03);}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(_0x133c0a){super(_0x133c0a),this['commands']={},this['storeClient']=_0x133c0a;}async['init'](_0x14627b=key_1['HMNS'],_0x4d327c,_0xf2140d){this['namespace']=_0x14627b,this['appId']=_0x4d327c,this['logger']=_0xf2140d;const _0x27c03c=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x4d327c,_0x27c03c),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x4d327c),this['cache']['getApps']();}['isSuccessful'](_0x460880){return _0x460880>0x0||_0x460880==='OK'||_0x460880===!![];}async['delistSignalKey'](_0x390846,_0x2027c7){await this['storeClient'][this['commands']['del']](_0x390846+':'+_0x2027c7);}async['zAdd'](_0x4e6270,_0x40b594,_0x30a79d,_0x65b0b0){return await(_0x65b0b0||this['storeClient'])[this['commands']['zadd']](_0x4e6270,_0x40b594,_0x30a79d);}async['zRangeByScore'](_0x5d83f1,_0x5494b0,_0x494ba){const _0x383d4c=await this['storeClient'][this['commands']['zrangebyscore']](_0x5d83f1,_0x5494b0,_0x494ba);if(_0x383d4c?.['length']>0x0)return _0x383d4c[0x0];return null;}['mintKey'](_0x375442,_0x5061c9){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x375442,_0x5061c9);}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x30bc3e,_0xbade1=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x312fba=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x30bc3e}),_0x3711e3=await this['exec']('SET',_0x312fba,_0x30bc3e+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(_0xbade1-0x1));return this['isSuccessful'](_0x3711e3);}async['releaseScoutRole'](_0x38f830){const _0x5d09fd=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x38f830}),_0x14f1a1=await this['exec']('DEL',_0x5d09fd);return this['isSuccessful'](_0x14f1a1);}async['getSettings'](_0xa0d52f=![]){let _0x507039=this['cache']?.['getSettings']();if(_0x507039)return _0x507039;else{if(_0xa0d52f){const _0xb9930=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x43e435=_0xb9930['version']||'0.0.0';return _0x507039={'namespace':key_1['HMNS'],'version':_0x43e435},await this['setSettings'](_0x507039),_0x507039;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x323227){const _0xecac46={},_0x4023a0=this['mintKey'](key_1['KeyType']['HOTMESH'],_0xecac46);return await this['storeClient'][this['commands']['hset']](_0x4023a0,_0x323227);}async['reserveSymbolRange'](_0x5ac131,_0x159f8e,_0xb93315,_0x26182f=0x1){const _0x294ce4=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x28384d=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x5ac131,'appId':this['appId']}),_0xc79228=await this['storeClient'][this['commands']['hsetnx']](_0x294ce4,_0x5ac131,'?:?');if(_0xc79228){const _0x55c133=await this['storeClient'][this['commands']['hincrby']](_0x294ce4,':cursor',_0x159f8e),_0x3ca85b=_0x55c133-_0x159f8e,_0x1d07bf=_0x3ca85b+':'+(_0x55c133-0x1);await this['storeClient'][this['commands']['hset']](_0x294ce4,_0x5ac131,_0x1d07bf);const _0x78c2c6=this['seedSymbols'](_0x5ac131,_0xb93315,_0x3ca85b);return await this['storeClient'][this['commands']['hset']](_0x28384d,_0x78c2c6),[_0x3ca85b+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x55c133-0x1,{}];}else{const _0x36acda=await this['storeClient'][this['commands']['hget']](_0x294ce4,_0x5ac131),[_0x80f55f]=_0x36acda['split'](':');if(_0x80f55f==='?'){await(0x0,utils_1['sleepFor'])(_0x26182f*0x3e8);if(_0x26182f<0x5)return this['reserveSymbolRange'](_0x5ac131,_0x159f8e,_0xb93315,_0x26182f+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x3310f5=parseInt(_0x80f55f,0xa),_0x515813=await this['storeClient'][this['commands']['hgetall']](_0x28384d),_0x2185d4=Object['keys'](_0x515813)['length'],_0x4959e0=_0x3310f5+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x2185d4,_0x25bb1f=Number(_0x3310f5+_0x159f8e-0x1);return[_0x4959e0,_0x25bb1f,_0x515813];}}}async['getAllSymbols'](){const _0x276f94=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x3c5c51=await this['storeClient'][this['commands']['hgetall']](_0x276f94),_0x599cce=Object['keys'](_0x3c5c51)['sort']();delete _0x599cce[':cursor'];const _0x36fbf7=this['transact']();for(const _0x370d62 of _0x599cce){const _0x4ccc23=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x370d62,'appId':this['appId']});_0x36fbf7[this['commands']['hgetall']](_0x4ccc23);}const _0x1554db=await _0x36fbf7['exec'](),_0x34b0e9={};return _0x1554db['forEach']((_0x4caf6a,_0x3baef4)=>{if(_0x4caf6a){let _0x71f4da;Array['isArray'](_0x4caf6a)&&_0x4caf6a['length']===0x2?_0x71f4da=_0x4caf6a[0x1]:_0x71f4da=_0x4caf6a;for(const [_0x1557bf,_0x46b6b7]of Object['entries'](_0x71f4da)){_0x34b0e9[_0x46b6b7]=_0x1557bf['startsWith'](_0x599cce[_0x3baef4])?_0x1557bf:_0x599cce[_0x3baef4]+'/'+_0x1557bf;}}}),_0x34b0e9;}async['getSymbols'](_0x55fbd3){let _0x16cae4=this['cache']['getSymbols'](this['appId'],_0x55fbd3);if(_0x16cae4)return _0x16cae4;else{const _0x4e23a6={'activityId':_0x55fbd3,'appId':this['appId']},_0x4c02a1=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x4e23a6);return _0x16cae4=await this['storeClient'][this['commands']['hgetall']](_0x4c02a1),this['cache']['setSymbols'](this['appId'],_0x55fbd3,_0x16cae4),_0x16cae4;}}async['addSymbols'](_0x22640f,_0x2e75e5){if(!_0x2e75e5||!Object['keys'](_0x2e75e5)['length'])return![];const _0x2f5293={'activityId':_0x22640f,'appId':this['appId']},_0x1c6807=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x2f5293),_0x55b47c=await this['storeClient'][this['commands']['hset']](_0x1c6807,_0x2e75e5);return this['cache']['deleteSymbols'](this['appId'],_0x22640f),_0x55b47c>0x0;}['seedSymbols'](_0x73066b,_0x200927,_0x4f6dd9){if(_0x200927==='JOB')return this['seedJobSymbols'](_0x4f6dd9);return this['seedActivitySymbols'](_0x4f6dd9,_0x73066b);}['seedJobSymbols'](_0x282c37){const _0x47a357={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x17e19d=>{_0x47a357['metadata/'+_0x17e19d]=(0x0,utils_1['getSymKey'])(_0x282c37),_0x282c37++;}),_0x47a357;}['seedActivitySymbols'](_0x2d1b2b,_0x26f889){const _0x4a25c1={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x5cca08=>{_0x4a25c1[_0x26f889+'/output/metadata/'+_0x5cca08]=(0x0,utils_1['getSymKey'])(_0x2d1b2b),_0x2d1b2b++;}),_0x4a25c1;}async['getSymbolValues'](){let _0xb6e45c=this['cache']['getSymbolValues'](this['appId']);if(_0xb6e45c)return _0xb6e45c;else{const _0x1daefc=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0xb6e45c=await this['storeClient'][this['commands']['hgetall']](_0x1daefc),this['cache']['setSymbolValues'](this['appId'],_0xb6e45c),_0xb6e45c;}}async['addSymbolValues'](_0x206b42){if(!_0x206b42||!Object['keys'](_0x206b42)['length'])return![];const _0x3a0135=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x41e760=await this['storeClient'][this['commands']['hset']](_0x3a0135,_0x206b42);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x41e760);}async['getSymbolKeys'](_0x3b9ece){const _0x1fb582=[];for(const _0x599df7 of _0x3b9ece){_0x1fb582['push'](this['getSymbols'](_0x599df7));}const _0x42c89b=await Promise['all'](_0x1fb582),_0x39a033={};for(const _0x1fab90 of _0x3b9ece){_0x39a033[_0x1fab90]=_0x42c89b['shift']();}return _0x39a033;}async['getApp'](_0x397f0a,_0x3ffe12=![]){let _0x14eaea=this['cache']['getApp'](_0x397f0a);if(_0x3ffe12||!(_0x14eaea&&Object['keys'](_0x14eaea)['length']>0x0)){const _0x49cd04={'appId':_0x397f0a},_0x481d74=this['mintKey'](key_1['KeyType']['APP'],_0x49cd04),_0x1a818b=await this['storeClient'][this['commands']['hgetall']](_0x481d74);if(!_0x1a818b)return null;_0x14eaea={};for(const _0x1b369f in _0x1a818b){try{_0x1b369f==='active'?_0x14eaea[_0x1b369f]=_0x1a818b[_0x1b369f]==='true':_0x14eaea[_0x1b369f]=_0x1a818b[_0x1b369f];}catch(_0x357081){_0x14eaea[_0x1b369f]=_0x1a818b[_0x1b369f];}}this['cache']['setApp'](_0x397f0a,_0x14eaea);}return _0x14eaea;}async['setApp'](_0x178fbe,_0x38b263){const _0x567a9e={'appId':_0x178fbe},_0x490fa0=this['mintKey'](key_1['KeyType']['APP'],_0x567a9e),_0x41df49='versions/'+_0x38b263,_0x39b2dd={'id':_0x178fbe,'version':_0x38b263,[_0x41df49]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x490fa0,_0x39b2dd),this['cache']['setApp'](_0x178fbe,_0x39b2dd),_0x39b2dd;}async['activateAppVersion'](_0x3513a3,_0x5b7953){const _0x12923e={'appId':_0x3513a3},_0x1b8636=this['mintKey'](key_1['KeyType']['APP'],_0x12923e),_0x1f9632='versions/'+_0x5b7953,_0x51df82=await this['getApp'](_0x3513a3,!![]);if(_0x51df82&&_0x51df82[_0x1f9632]){const _0x8387de={'id':_0x3513a3,'version':_0x5b7953['toString'](),[_0x1f9632]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x8387de)['forEach'](([_0x35d8e6,_0x14066f])=>{_0x8387de[_0x35d8e6]=_0x14066f['toString']();}),await this['storeClient'][this['commands']['hset']](_0x1b8636,_0x8387de),!![];}throw new Error('Version\x20'+_0x5b7953+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x3513a3);}async['registerAppVersion'](_0x6dcbaa,_0x257050){const _0x55aea1={'appId':_0x6dcbaa},_0x31897c=this['mintKey'](key_1['KeyType']['APP'],_0x55aea1),_0x598158={'id':_0x6dcbaa,'version':_0x257050['toString'](),['versions/'+_0x257050]:(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x31897c,_0x598158);}async['setStats'](_0x29029d,_0x41baf9,_0x22a86f,_0x3c5f1,_0x3232d5,_0x3701b5){const _0x49d1bc={'appId':_0x3232d5['id'],'jobId':_0x41baf9,'jobKey':_0x29029d,'dateTime':_0x22a86f},_0x673f66=_0x3701b5||this['transact']();if(_0x3c5f1['general']['length']){const _0x554255=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x49d1bc);for(const {target:_0x2aa40a,value:_0x542e76}of _0x3c5f1['general']){_0x673f66[this['commands']['hincrbyfloat']](_0x554255,_0x2aa40a,_0x542e76);}}for(const {target:_0x318bbf,value:_0x34a951}of _0x3c5f1['index']){const _0x10858d={..._0x49d1bc,'facet':_0x318bbf},_0x2912cd=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x10858d);_0x673f66[this['commands']['rpush']](_0x2912cd,_0x34a951['toString']());}for(const {target:_0xd97511,value:_0xf70fb7}of _0x3c5f1['median']){const _0x460eb4={..._0x49d1bc,'facet':_0xd97511},_0x51988d=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x460eb4);this['zAdd'](_0x51988d,_0xf70fb7,_0xd97511,_0x673f66);}if(!_0x3701b5)return await _0x673f66['exec']();}['hGetAllResult'](_0x650f37){return _0x650f37;}async['getJobStats'](_0x51bc98){const _0x536747=this['transact']();for(const _0x169b25 of _0x51bc98){_0x536747[this['commands']['hgetall']](_0x169b25);}const _0xebe182=await _0x536747['exec'](),_0x18cfac={};for(const [_0x1725b4,_0x48c5b1]of _0xebe182['entries']()){const _0x59cbf6=_0x51bc98[_0x1725b4],_0x29b270=this['hGetAllResult'](_0x48c5b1);if(_0x29b270&&Object['keys'](_0x29b270)['length']>0x0){const _0x3d6977={..._0x29b270};for(const [_0x300f9e,_0xf5b774]of Object['entries'](_0x3d6977)){_0x3d6977[_0x300f9e]=Number(_0xf5b774);}_0x18cfac[_0x59cbf6]=_0x3d6977;}else _0x18cfac[_0x59cbf6]={};}return _0x18cfac;}async['getJobIds'](_0x1f1675,_0x17c2f4){const _0x8af847=this['transact']();for(const _0x47b3b1 of _0x1f1675){_0x8af847[this['commands']['lrange']](_0x47b3b1,_0x17c2f4[0x0],_0x17c2f4[0x1]);}const _0x317150=await _0x8af847['exec'](),_0x509881={};for(const [_0x1751d0,_0x13e9c4]of _0x317150['entries']()){const _0x28d426=_0x1f1675[_0x1751d0],_0x22902b=_0x13e9c4[0x1]||_0x13e9c4;_0x22902b&&_0x22902b['length']>0x0?_0x509881[_0x28d426]=_0x22902b:_0x509881[_0x28d426]=[];}return _0x509881;}async['setStatus'](_0x277102,_0x5bab56,_0x14ce4c,_0x588454){const _0x36b39b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x14ce4c,'jobId':_0x5bab56});return await(_0x588454||this['storeClient'])[this['commands']['hincrbyfloat']](_0x36b39b,':',_0x277102);}async['getStatus'](_0x2277fd,_0x4edc6f){const _0x6d2675=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x4edc6f,'jobId':_0x2277fd}),_0x36721d=await this['storeClient'][this['commands']['hget']](_0x6d2675,':');if(_0x36721d===null)throw new Error('Job\x20'+_0x2277fd+'\x20not\x20found');return Number(_0x36721d);}async['setState']({..._0x54bbca},_0x4a106d,_0x2e655a,_0x41c2b5,_0x113a01,_0x455c7f){delete _0x54bbca['metadata/js'];const _0x14f4c0=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2e655a}),_0x482bbe=await this['getSymbolKeys'](_0x41c2b5),_0x23ddb0=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x482bbe,_0x23ddb0,_0x113a01);const _0xb26093=this['serializer']['package'](_0x54bbca,_0x41c2b5);return _0x4a106d!==null?_0xb26093[':']=_0x4a106d['toString']():delete _0xb26093[':'],await(_0x455c7f||this['storeClient'])[this['commands']['hset']](_0x14f4c0,_0xb26093),_0x2e655a;}async['getQueryState'](_0x2db1c1,_0x209dda){const _0x2e0ab3=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2db1c1}),_0x50ae96=_0x209dda['map'](_0x36c33d=>{if(_0x36c33d['startsWith']('\x22'))return _0x36c33d['slice'](0x1,-0x1);return'_'+_0x36c33d;}),_0x89867b=await this['storeClient'][this['commands']['hmget']](_0x2e0ab3,_0x50ae96),_0x2f552e={};return _0x209dda['forEach']((_0x2b7bf2,_0x14d9b7)=>{_0x2b7bf2['startsWith']('\x22')&&(_0x2b7bf2=_0x2b7bf2['slice'](0x1,-0x1)),_0x2f552e[_0x2b7bf2]=_0x89867b[_0x14d9b7];}),_0x2f552e;}async['getState'](_0x602d,_0x282f3d,_0x9db223){const _0x49d90f=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x602d}),_0x54e48c=Object['keys'](_0x282f3d),_0x12040d=await this['getSymbolKeys'](_0x54e48c);this['serializer']['resetSymbols'](_0x12040d,{},_0x9db223);const _0x518a33=this['serializer']['abbreviate'](_0x282f3d,_0x54e48c,[':']),_0x51b49a=await this['storeClient'][this['commands']['hmget']](_0x49d90f,_0x518a33),_0x7340d8={};let _0x273239=![];_0x518a33['forEach']((_0x40c8e1,_0x3f4a5b)=>{_0x51b49a[_0x3f4a5b]&&(_0x273239=!![]),_0x7340d8[_0x40c8e1]=_0x51b49a[_0x3f4a5b];});if(_0x273239){const _0x4bc6c8=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x12040d,_0x4bc6c8,_0x9db223);const _0x5dbea3=this['serializer']['unpackage'](_0x7340d8,_0x54e48c);let _0x118098=0x0;return _0x5dbea3[':']&&(_0x118098=Number(_0x5dbea3[':']),_0x5dbea3['metadata/js']=_0x118098,delete _0x5dbea3[':']),[_0x5dbea3,_0x118098];}else throw new errors_1['GetStateError'](_0x602d);}async['getRaw'](_0x223822){const _0x4c3248=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x223822}),_0x2e29a3=await this['storeClient'][this['commands']['hgetall']](_0x4c3248);if(!_0x2e29a3)throw new errors_1['GetStateError'](_0x223822);return _0x2e29a3;}async['collate'](_0x2edfa2,_0x2dfac4,_0x2e7656,_0x1a8239,_0x16fec8){const _0x35c6fa=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2edfa2}),_0x3eaed4=_0x2dfac4+'/output/metadata/as',_0x547d71=[_0x2dfac4],_0x4bd8c2=await this['getSymbolKeys'](_0x547d71),_0x42a21a=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x4bd8c2,_0x42a21a,_0x1a8239);const _0x3ab002={[_0x3eaed4]:_0x2e7656['toString']()},_0x40b493=this['serializer']['package'](_0x3ab002,_0x547d71),_0x41eb6c=Object['keys'](_0x40b493)[0x0];return await(_0x16fec8||this['storeClient'])[this['commands']['hincrbyfloat']](_0x35c6fa,_0x41eb6c,_0x2e7656);}async['collateSynthetic'](_0x4698a0,_0x200e43,_0x45593e,_0x196435){const _0x4dd5e1=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4698a0});return await(_0x196435||this['storeClient'])[this['commands']['hincrbyfloat']](_0x4dd5e1,_0x200e43,_0x45593e['toString']());}async['setStateNX'](_0x2829ee,_0x121133,_0xdde61f){const _0x328e85=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x121133,'jobId':_0x2829ee}),_0x481d8b=await this['storeClient'][this['commands']['hsetnx']](_0x328e85,':',_0xdde61f?.['toString']()??'1');return this['isSuccessful'](_0x481d8b);}async['getSchema'](_0x53e8be,_0x4e6067){const _0x89365e=this['cache']['getSchema'](_0x4e6067['id'],_0x4e6067['version'],_0x53e8be);if(_0x89365e)return _0x89365e;else{const _0x505fd7=await this['getSchemas'](_0x4e6067);return _0x505fd7[_0x53e8be];}}async['getSchemas'](_0x3635d3){let _0xc4fc51=this['cache']['getSchemas'](_0x3635d3['id'],_0x3635d3['version']);if(_0xc4fc51&&Object['keys'](_0xc4fc51)['length']>0x0)return _0xc4fc51;else{const _0x5ab1de={'appId':_0x3635d3['id'],'appVersion':_0x3635d3['version']},_0x4d6f83=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x5ab1de);_0xc4fc51={};const _0xd66fa2=await this['storeClient'][this['commands']['hgetall']](_0x4d6f83);return Object['entries'](_0xd66fa2)['forEach'](([_0xaa5a0d,_0x2c5ffd])=>{_0xc4fc51[_0xaa5a0d]=JSON['parse'](_0x2c5ffd);}),this['cache']['setSchemas'](_0x3635d3['id'],_0x3635d3['version'],_0xc4fc51),_0xc4fc51;}}async['setSchemas'](_0x4b0532,_0x225e21){const _0x27ac70={'appId':_0x225e21['id'],'appVersion':_0x225e21['version']},_0x119668=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x27ac70),_0x54cd05={..._0x4b0532};Object['entries'](_0x54cd05)['forEach'](([_0x12654a,_0x1b4570])=>{_0x54cd05[_0x12654a]=JSON['stringify'](_0x1b4570);});const _0x229ed7=await this['storeClient'][this['commands']['hset']](_0x119668,_0x54cd05);return this['cache']['setSchemas'](_0x225e21['id'],_0x225e21['version'],_0x4b0532),_0x229ed7;}async['setSubscriptions'](_0x47cd7c,_0x3f11bb){const _0x1aaba8={'appId':_0x3f11bb['id'],'appVersion':_0x3f11bb['version']},_0x10ae10=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x1aaba8),_0x401fd4={..._0x47cd7c};Object['entries'](_0x401fd4)['forEach'](([_0xb07cd6,_0x342df7])=>{_0x401fd4[_0xb07cd6]=JSON['stringify'](_0x342df7);});const _0x2b02ac=await this['storeClient'][this['commands']['hset']](_0x10ae10,_0x401fd4);return this['cache']['setSubscriptions'](_0x3f11bb['id'],_0x3f11bb['version'],_0x47cd7c),this['isSuccessful'](_0x2b02ac);}async['getSubscriptions'](_0x520b56){let _0x2a8faa=this['cache']['getSubscriptions'](_0x520b56['id'],_0x520b56['version']);if(_0x2a8faa&&Object['keys'](_0x2a8faa)['length']>0x0)return _0x2a8faa;else{const _0x14cfd0={'appId':_0x520b56['id'],'appVersion':_0x520b56['version']},_0x1e1ef5=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x14cfd0);return _0x2a8faa=await this['storeClient'][this['commands']['hgetall']](_0x1e1ef5)||{},Object['entries'](_0x2a8faa)['forEach'](([_0x160a93,_0x547144])=>{_0x2a8faa[_0x160a93]=JSON['parse'](_0x547144);}),this['cache']['setSubscriptions'](_0x520b56['id'],_0x520b56['version'],_0x2a8faa),_0x2a8faa;}}async['getSubscription'](_0x1ffab6,_0x33c86d){const _0x1f0011=await this['getSubscriptions'](_0x33c86d);return _0x1f0011[_0x1ffab6];}async['setTransitions'](_0x48312a,_0x1eb379){const _0x358e5b={'appId':_0x1eb379['id'],'appVersion':_0x1eb379['version']},_0x1f7dc2=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x358e5b),_0xc173bf={..._0x48312a};Object['entries'](_0xc173bf)['forEach'](([_0x4bdab0,_0x2d7d63])=>{_0xc173bf[_0x4bdab0]=JSON['stringify'](_0x2d7d63);});if(Object['keys'](_0xc173bf)['length']!==0x0){const _0x4a8f9a=await this['storeClient'][this['commands']['hset']](_0x1f7dc2,_0xc173bf);return this['cache']['setTransitions'](_0x1eb379['id'],_0x1eb379['version'],_0x48312a),_0x4a8f9a;}}async['getTransitions'](_0xc8f4fb){let _0x1c8be1=this['cache']['getTransitions'](_0xc8f4fb['id'],_0xc8f4fb['version']);if(_0x1c8be1&&Object['keys'](_0x1c8be1)['length']>0x0)return _0x1c8be1;else{const _0x73c9ab={'appId':_0xc8f4fb['id'],'appVersion':_0xc8f4fb['version']},_0x4dac25=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x73c9ab);_0x1c8be1={};const _0xf59e4b=await this['storeClient'][this['commands']['hgetall']](_0x4dac25);return Object['entries'](_0xf59e4b)['forEach'](([_0x11a7eb,_0x588d4d])=>{_0x1c8be1[_0x11a7eb]=JSON['parse'](_0x588d4d);}),this['cache']['setTransitions'](_0xc8f4fb['id'],_0xc8f4fb['version'],_0x1c8be1),_0x1c8be1;}}async['setHookRules'](_0x7c31cf){const _0x4c1ff8=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x5cabd5={};Object['entries'](_0x7c31cf)['forEach'](([_0x6a2982,_0x5ad0b0])=>{_0x5cabd5[_0x6a2982['toString']()]=JSON['stringify'](_0x5ad0b0);});if(Object['keys'](_0x5cabd5)['length']!==0x0){const _0x220269=await this['storeClient'][this['commands']['hset']](_0x4c1ff8,_0x5cabd5);return this['cache']['setHookRules'](this['appId'],_0x7c31cf),_0x220269;}}async['getHookRules'](){let _0x21ea62=this['cache']['getHookRules'](this['appId']);if(_0x21ea62&&Object['keys'](_0x21ea62)['length']>0x0)return _0x21ea62;else{const _0x12279d=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x178bff=await this['storeClient'][this['commands']['hgetall']](_0x12279d);return _0x21ea62={},Object['entries'](_0x178bff)['forEach'](([_0x5aee9e,_0x5ccb8b])=>{_0x21ea62[_0x5aee9e]=JSON['parse'](_0x5ccb8b);}),this['cache']['setHookRules'](this['appId'],_0x21ea62),_0x21ea62;}}async['setHookSignal'](_0x307366,_0x5705e2){const _0x2e11c0=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x32d7df,resolved:_0x23b19c,jobId:_0x48c183}=_0x307366,_0x422530=_0x32d7df+':'+_0x23b19c;await this['setnxex'](_0x2e11c0+':'+_0x422530,_0x48c183,Math['max'](_0x307366['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x28e564,_0x2787b4){const _0x23b8ba=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x4f4a8e=await this['storeClient'][this['commands']['get']](_0x23b8ba+':'+_0x28e564+':'+_0x2787b4);return _0x4f4a8e?_0x4f4a8e['toString']():undefined;}async['deleteHookSignal'](_0xa97db6,_0x13746a){const _0x122ab7=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x39382a=await this['storeClient'][this['commands']['del']](_0x122ab7+':'+_0xa97db6+':'+_0x13746a);return _0x39382a?Number(_0x39382a):undefined;}async['addTaskQueues'](_0xf4a248){const _0x50fe37=this['transact'](),_0x124879=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x34229f of _0xf4a248){_0x50fe37[this['commands']['zadd']](_0x124879,{'score':Date['now']()['toString'](),'value':_0x34229f},{'NX':!![]});}await _0x50fe37['exec']();}async['getActiveTaskQueue'](){let _0x3b0b8e=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x3b0b8e){const _0x35b1d9=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x1e5101=await this['storeClient'][this['commands']['zrange']](_0x35b1d9,0x0,0x0);_0x3b0b8e=_0x1e5101['length']>0x0?_0x1e5101[0x0]:null,_0x3b0b8e&&this['cache']['setWorkItem'](this['appId'],_0x3b0b8e);}return _0x3b0b8e;}async['deleteProcessedTaskQueue'](_0x169c60,_0x51ec80,_0x438fdf,_0x5b6a17=![]){const _0x287fd5=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x872068=await this['storeClient'][this['commands']['zrem']](_0x287fd5,_0x169c60);_0x872068&&(_0x5b6a17?(this['storeClient'][this['commands']['expire']](_0x438fdf,0x0),this['storeClient'][this['commands']['expire']](_0x51ec80['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['storeClient'][this['commands']['rename']](_0x438fdf,_0x51ec80)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x3686eb,_0x4a63ce){return await this['storeClient'][this['commands']['lmove']](_0x3686eb,_0x4a63ce,'LEFT','RIGHT');}async['expireJob'](_0x3e882a,_0x4a3ba0,_0x4c772e){if(!isNaN(_0x4a3ba0)&&_0x4a3ba0>0x0){const _0x3bd5b7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3e882a});await(_0x4c772e||this['storeClient'])[this['commands']['expire']](_0x3bd5b7,_0x4a3ba0);}}async['getDependencies'](_0x5cdebe){const _0x3cc96f={'appId':this['appId'],'jobId':_0x5cdebe},_0x1e2eb9=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x3cc96f);return this['storeClient'][this['commands']['lrange']](_0x1e2eb9,0x0,-0x1);}async['registerTimeHook'](_0x15c349,_0xc9d568,_0x599a97,_0x3833cd,_0x35f3c4,_0x118a7c,_0x25e991){const _0x18e7c7=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x35f3c4}),_0x274421=[_0x3833cd,_0x599a97,_0xc9d568,_0x118a7c,_0x15c349]['join'](key_1['VALSEP']),_0x33e690=await(_0x25e991||this['storeClient'])[this['commands']['rpush']](_0x18e7c7,_0x274421);if(_0x25e991||_0x33e690===0x1){const _0x1f01f1=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x1f01f1,_0x35f3c4['toString'](),_0x18e7c7,_0x25e991);}}async['getNextTask'](_0x3c2de7){const _0x496f7e=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x3c2de7=_0x3c2de7||await this['zRangeByScore'](_0x496f7e,0x0,Date['now']());if(_0x3c2de7){let [_0x45ed46,_0x24088a]=this['resolveTaskKeyContext'](_0x3c2de7);const _0x54595b=await this['storeClient'][this['commands']['lpop']](_0x24088a);if(_0x54595b){let [_0x5d4715,_0x25e3ca,_0x1385ce,_0x44c483,..._0x1b876b]=_0x54595b['split'](key_1['VALSEP']);const _0x5a0e94=_0x1b876b['join'](key_1['VALSEP']);if(_0x5d4715==='delist')_0x45ed46='delist';else{if(_0x5d4715==='child')_0x45ed46='child';else _0x5d4715==='expire-child'&&(_0x5d4715='expire');}return[_0x3c2de7,_0x5a0e94,_0x1385ce,_0x25e3ca,_0x45ed46];}return await this['storeClient'][this['commands']['zrem']](_0x496f7e,_0x3c2de7),!![];}return![];}['resolveTaskKeyContext'](_0x2a23c2){if(_0x2a23c2['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x2a23c2['split'](key_1['TYPSEP'])[0x2]];else return _0x2a23c2['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x2a23c2['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x2a23c2];}async['interrupt'](_0xdcdcce,_0x2f3fe8,_0xb541cc={}){try{const _0xcfa30f=await this['getStatus'](_0x2f3fe8,this['appId']);if(_0xcfa30f<=0x0)throw new Error('Job\x20'+_0x2f3fe8+'\x20already\x20completed');const _0x3ce5d4=-0x3b9aca00,_0x420cd7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2f3fe8}),_0x1230b9=await this['storeClient'][this['commands']['hincrbyfloat']](_0x420cd7,':',_0x3ce5d4);if(_0x1230b9<=_0x3ce5d4)throw new Error('Job\x20'+_0x2f3fe8+'\x20already\x20completed');if(_0xb541cc['throw']!==![]){const _0x4d46dd='metadata/err',_0x175b09=['$'+_0xdcdcce],_0x28e90a=await this['getSymbolKeys'](_0x175b09),_0x2f8568=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x28e90a,_0x2f8568,{});const _0x152ce4=JSON['stringify']({'code':_0xb541cc['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0xb541cc['reason']??'job\x20['+_0x2f3fe8+']\x20interrupted','stack':_0xb541cc['stack']??'','job_id':_0x2f3fe8}),_0x184c3f={[_0x4d46dd]:_0x3ce5d4['toString']()},_0x284af5=this['serializer']['package'](_0x184c3f,_0x175b09),_0x379ca5=Object['keys'](_0x284af5)[0x0];await this['storeClient'][this['commands']['hset']](_0x420cd7,_0x379ca5,_0x152ce4);}}catch(_0x2da3c4){if(!_0xb541cc['suppress'])throw _0x2da3c4;else this['logger']['debug']('suppressed-interrupt',{'message':_0x2da3c4['message']});}}async['scrub'](_0x31d131){const _0x5e5524=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x31d131});await this['storeClient'][this['commands']['del']](_0x5e5524);}async['findJobs'](_0x586aee='*',_0x4898eb=0x3e8,_0x4f3d5f=0x3e8,_0x3a60b4='0'){const _0x42aca7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x586aee});let _0x59f416;const _0x35493b=[];do{const _0x1fe5ce=await this['exec']('SCAN',_0x3a60b4,'MATCH',_0x42aca7,'COUNT',_0x4f3d5f['toString']());if(Array['isArray'](_0x1fe5ce)){[_0x3a60b4,_0x59f416]=_0x1fe5ce;for(const _0x5d02b0 of[..._0x59f416]){_0x35493b['push'](_0x5d02b0);}if(_0x35493b['length']>=_0x4898eb)break;}else break;}while(_0x3a60b4!=='0');return[_0x3a60b4,_0x35493b];}async['findJobFields'](_0x2b5a13,_0x451804='*',_0x291ea0=0x3e8,_0x28de40=0x3e8,_0x41e284='0'){let _0x446373=[];const _0x4661e4={},_0x4e628d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2b5a13});let _0x3a09ad=0x0;do{const _0x1033cb=await this['exec']('HSCAN',_0x4e628d,_0x41e284,'MATCH',_0x451804,'COUNT',_0x28de40['toString']());if(Array['isArray'](_0x1033cb)){[_0x41e284,_0x446373]=_0x1033cb;for(let _0x2ee3cb=0x0;_0x2ee3cb<_0x446373['length'];_0x2ee3cb+=0x2){_0x3a09ad++,_0x4661e4[_0x446373[_0x2ee3cb]]=_0x446373[_0x2ee3cb+0x1];}}else break;}while(_0x41e284!=='0'&&_0x3a09ad<_0x291ea0);return[_0x41e284,_0x4661e4];}async['setThrottleRate'](_0x345d60){const _0x5b1665=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x345d60['guid'])return;const _0x583222=_0x345d60['throttle']['toString']();if(_0x345d60['topic'])await this['storeClient'][this['commands']['hset']](_0x5b1665,{[_0x345d60['topic']]:_0x583222});else{const _0x415f28=this['transact']();_0x415f28[this['commands']['del']](_0x5b1665),_0x415f28[this['commands']['hset']](_0x5b1665,{':':_0x583222}),await _0x415f28['exec']();}}async['getThrottleRates'](){const _0x4a7ccd=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x924037=await this['storeClient'][this['commands']['hgetall']](_0x4a7ccd);return _0x924037??{};}async['getThrottleRate'](_0x22c807){const _0x49088e=(_0xba8d45,_0x87390d)=>{const _0x741cf8=_0x87390d in _0xba8d45?Number(_0xba8d45[_0x87390d]):0x0;if(isNaN(_0x741cf8))return 0x0;if(_0x741cf8==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x741cf8,enums_1['MAX_DELAY']),0x0);},_0xdcbda6=await this['getThrottleRates'](),_0x4e8153=_0x49088e(_0xdcbda6,':');if(_0x22c807===':'||!(_0x22c807 in _0xdcbda6))return _0x4e8153;return _0x49088e(_0xdcbda6,_0x22c807);}}exports['RedisStoreBase']=RedisStoreBase;function _0x5027(){const _0x1ac52a=['7679568olyIba','85124DKCGOS','45eUbFUx','153jLfXmy','413635rLyqXy','40394060bjSTPj','249208XfnVMP','612416SKlNfk','2WnjygA','850650ChoZPL'];_0x5027=function(){return _0x1ac52a;};return _0x5027();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x5433f8,_0x14b002){const _0x6341a9=_0xfe87,_0x58fce0=_0x5433f8();while(!![]){try{const _0x258ea1=parseInt(_0x6341a9(0x135))/0x1*(parseInt(_0x6341a9(0x138))/0x2)+parseInt(_0x6341a9(0x13a))/0x3*(parseInt(_0x6341a9(0x137))/0x4)+-parseInt(_0x6341a9(0x139))/0x5+-parseInt(_0x6341a9(0x134))/0x6*(parseInt(_0x6341a9(0x13b))/0x7)+parseInt(_0x6341a9(0x132))/0x8*(parseInt(_0x6341a9(0x133))/0x9)+-parseInt(_0x6341a9(0x136))/0xa+parseInt(_0x6341a9(0x13c))/0xb;if(_0x258ea1===_0x14b002)break;else _0x58fce0['push'](_0x58fce0['shift']());}catch(_0x2badaf){_0x58fce0['push'](_0x58fce0['shift']());}}}(_0x4898,0x96292));function _0xfe87(_0x419b5a,_0x4c940f){const _0x4898a5=_0x4898();return _0xfe87=function(_0xfe87d3,_0x5522f4){_0xfe87d3=_0xfe87d3-0x132;let _0x355b13=_0x4898a5[_0xfe87d3];return _0x355b13;},_0xfe87(_0x419b5a,_0x4c940f);}function _0x4898(){const _0x50115d=['56ohOhae','6906614GYSMBu','64JahqGK','239166itaetn','550104FvHFFu','37cXdYjy','7156350hWMIEi','8OAUtnE','38566eeMSLd','147830pocufL','809691SEQlAa'];_0x4898=function(){return _0x50115d;};return _0x4898();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStoreService']=void 0x0;const key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),_base_1=require('./_base');class IORedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x362f2f){super(_0x362f2f),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 _0x49b3d1=this;if(enums_1['HMSH_IS_CLUSTER']){const _0xce2a31=[],_0x2a1fed=(_0x1e8440,_0x434089)=>{return _0xce2a31['push']({'command':_0x1e8440,'args':_0x434089}),_0x352599;},_0x352599={'sendCommand'(_0x558b14){return _0x49b3d1['storeClient']['sendCommand'](_0x558b14);},async 'exec'(){if(_0xce2a31['length']===0x0)return[];const _0x1f6774=_0xce2a31['every'](_0x2f283a=>{return _0x2f283a['args'][0x0]===_0xce2a31[0x0]['args'][0x0];});if(_0x1f6774){const _0x19f510=_0x49b3d1['storeClient']['multi']();_0xce2a31['forEach'](_0x495cd8=>_0x19f510[_0x495cd8['command']](..._0x495cd8['args']));const _0x15cfb2=await _0x19f510['exec']();return _0x15cfb2['map'](_0x3b8c42=>_0x3b8c42);}else return Promise['all'](_0xce2a31['map'](_0x4f834c=>_0x49b3d1['storeClient'][_0x4f834c['command']](..._0x4f834c['args'])));},'xadd'(_0x5ad87e,_0x5d0282,_0x28c03e,_0x374d75){return _0x2a1fed('xadd',[_0x5ad87e,_0x5d0282,_0x28c03e,_0x374d75]);},'xack'(_0x978d34,_0x5d9340,_0x51f585){return _0x2a1fed('xack',[_0x978d34,_0x5d9340,_0x51f585]);},'xdel'(_0x3a5df4,_0x1d0469){return _0x2a1fed('xdel',[_0x3a5df4,_0x1d0469]);},'xlen'(_0x4e475b){return _0x2a1fed('xlen',[_0x4e475b]);},'xpending'(_0x291df3,_0x1a46b7,_0x557aa0,_0x5d4326,_0x2de091,_0x44026b){return _0x2a1fed('xpending',[_0x291df3,_0x1a46b7,_0x557aa0,_0x5d4326,_0x2de091,_0x44026b]);},'xclaim'(_0x13efc0,_0x541f26,_0x59d234,_0x5ae7e1,_0x4584ad,..._0x2dcec9){return _0x2a1fed('xclaim',[_0x13efc0,_0x541f26,_0x59d234,_0x5ae7e1,_0x4584ad,..._0x2dcec9]);},'del'(_0x288f7b){return _0x2a1fed('del',[_0x288f7b]);},'expire':function(_0x39d59c,_0x1078fc){return _0x2a1fed('expire',[_0x39d59c,_0x1078fc]);},'hdel'(_0x248db9,_0x9cb6d7){return _0x2a1fed('hdel',[_0x248db9,_0x9cb6d7]);},'hget'(_0x43c260,_0x14607a){return _0x2a1fed('hget',[_0x43c260,_0x14607a]);},'hgetall'(_0xb86149){return _0x2a1fed('hgetall',[_0xb86149]);},'hincrbyfloat'(_0x495fcf,_0x1d61ed,_0x4447d1){return _0x2a1fed('hincrbyfloat',[_0x495fcf,_0x1d61ed,_0x4447d1]);},'hmget'(_0x23eece,_0x141033){return _0x2a1fed('hmget',[_0x23eece,_0x141033]);},'hset'(_0x2868fd,_0x3158f7){return _0x2a1fed('hset',[_0x2868fd,_0x3158f7]);},'lrange'(_0x15d5d9,_0xcbbb39,_0xcf10b5){return _0x2a1fed('lrange',[_0x15d5d9,_0xcbbb39,_0xcf10b5]);},'rpush'(_0x112877,_0x11ed4a){return _0x2a1fed('rpush',[_0x112877,_0x11ed4a]);},'zadd'(..._0x3cad60){return _0x2a1fed('zadd',_0x3cad60);},'xgroup'(_0x3f56b5,_0x887679,_0x14145b,_0x24d04d,_0x34d01f){return _0x2a1fed('xgroup',[_0x3f56b5,_0x887679,_0x14145b,_0x24d04d,_0x34d01f]);}};return _0x352599;}return this['storeClient']['multi']();}async['exec'](..._0x504955){const _0x8f56a=await this['storeClient']['call']['apply'](this['storeClient'],_0x504955);if(typeof _0x8f56a==='string')return _0x8f56a;else{if(Array['isArray'](_0x8f56a)){if(Array['isArray'](_0x8f56a[0x0]))return _0x8f56a;return _0x8f56a;}}return _0x8f56a;}async['setnxex'](_0x49eb9d,_0x540390,_0x218ac7){const _0x4752be=await this['storeClient'][this['commands']['set']](_0x49eb9d,_0x540390,'NX','EX',_0x218ac7['toString']());return this['isSuccessful'](_0x4752be);}['hGetAllResult'](_0x3587b1){return _0x3587b1[0x1];}async['addTaskQueues'](_0x150d03){const _0x5100ea=this['storeClient']['multi'](),_0x31ead0=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x6deb1f of _0x150d03){_0x5100ea['zadd'](_0x31ead0,'NX',Date['now'](),_0x6deb1f);}await _0x5100ea['exec']();}}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 _0x3a23(){const _0x402069=['17379BFfQwv','148XPJOZs','4568tJVjRW','177804kYIdSQ','464760GXmWAw','1679628yYXRaW','24089544Pldzij','1974EMqrEH','22806ZpcImN','140hLoWvn','4TyIbNx','12075yZVXLn'];_0x3a23=function(){return _0x402069;};return _0x3a23();}(function(_0x408ef6,_0x296290){const _0x211f93=_0xe50c,_0x185d99=_0x408ef6();while(!![]){try{const _0x2bf7ee=-parseInt(_0x211f93(0x14b))/0x1+parseInt(_0x211f93(0x145))/0x2*(parseInt(_0x211f93(0x14c))/0x3)+parseInt(_0x211f93(0x148))/0x4*(-parseInt(_0x211f93(0x146))/0x5)+parseInt(_0x211f93(0x143))/0x6*(-parseInt(_0x211f93(0x142))/0x7)+-parseInt(_0x211f93(0x149))/0x8*(parseInt(_0x211f93(0x147))/0x9)+-parseInt(_0x211f93(0x144))/0xa*(-parseInt(_0x211f93(0x14a))/0xb)+parseInt(_0x211f93(0x141))/0xc;if(_0x2bf7ee===_0x296290)break;else _0x185d99['push'](_0x185d99['shift']());}catch(_0x14c3a8){_0x185d99['push'](_0x185d99['shift']());}}}(_0x3a23,0x98910));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreService']=void 0x0;function _0xe50c(_0x50a4b2,_0x3822d1){const _0x3a23a8=_0x3a23();return _0xe50c=function(_0xe50c0,_0x2baafd){_0xe50c0=_0xe50c0-0x141;let _0x4f6039=_0x3a23a8[_0xe50c0];return _0x4f6039;},_0xe50c(_0x50a4b2,_0x3822d1);}const enums_1=require('../../../../modules/enums'),_base_1=require('./_base');class RedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x3034a1){super(_0x3034a1),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 _0x28f812=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x449f50=[],_0x3a755a=(_0x1a36fc,_0x23da2a)=>{return _0x449f50['push']({'command':_0x1a36fc['toUpperCase'](),'args':_0x23da2a}),_0x1db936;},_0x1db936={'sendCommand'(_0x29f841,..._0x1afcf3){return _0x28f812['storeClient']['sendCommand']([_0x29f841,..._0x1afcf3]);},async 'exec'(){if(_0x449f50['length']===0x0)return[];const _0x4b2fa5=_0x449f50['every'](_0x253dc6=>{return _0x253dc6['args'][0x0]===_0x449f50[0x0]['args'][0x0];});if(_0x4b2fa5){const _0x4372c3=_0x28f812['storeClient']['multi']();_0x449f50['forEach'](_0x57b9f3=>{if(_0x57b9f3['command']==='ZADD')return _0x4372c3['ZADD'](_0x57b9f3['args'][0x0],_0x57b9f3['args'][0x1],_0x57b9f3['args'][0x2]);return _0x4372c3[_0x57b9f3['command']](..._0x57b9f3['args']);});const _0x12467c=await _0x4372c3['exec']();return _0x12467c['map'](_0x447f4d=>_0x447f4d);}else return Promise['all'](_0x449f50['map'](_0x3f602a=>{if(_0x3f602a['command']==='ZADD')return _0x28f812['storeClient']['ZADD'](_0x3f602a['args'][0x0],_0x3f602a['args'][0x1],_0x3f602a['args'][0x2]);return _0x28f812['storeClient'][_0x3f602a['command']](..._0x3f602a['args']);}));},'XADD'(_0xd6ba23,_0x4f4d22,_0x5dac91,_0x4a9f4e){return _0x3a755a('XADD',[_0xd6ba23,_0x4f4d22,_0x5dac91,_0x4a9f4e]);},'XACK'(_0x2745fe,_0x1cfb44,_0x433495){return _0x3a755a('XACK',[_0x2745fe,_0x1cfb44,_0x433495]);},'XDEL'(_0x549bb9,_0x307ba5){return _0x3a755a('XDEL',[_0x549bb9,_0x307ba5]);},'XLEN'(_0xf6f4fe){return _0x3a755a('XLEN',[_0xf6f4fe]);},'XCLAIM'(_0x90dbc2,_0x5f2926,_0x5a9d64,_0x4c2f85,_0x203ff2,..._0x307392){return _0x3a755a('XCLAIM',[_0x90dbc2,_0x5f2926,_0x5a9d64,_0x4c2f85,_0x203ff2,..._0x307392]);},'XPENDING'(_0x5663c4,_0x4697a2,_0x97e957,_0x18e5c6,_0xa03b39,_0x1ab40e){return _0x3a755a('XPENDING',[_0x5663c4,_0x4697a2,_0x97e957,_0x18e5c6,_0xa03b39,_0x1ab40e]);},'DEL':function(_0x2bcf35){return _0x3a755a('DEL',[_0x2bcf35]);},'EXPIRE':function(_0x3c4d0e,_0x18cfe8){return _0x3a755a('EXPIRE',[_0x3c4d0e,_0x18cfe8]);},'HDEL'(_0x203ac2,_0x431a6c){return _0x3a755a('HDEL',[_0x203ac2,_0x431a6c]);},'HGET'(_0x2b93f7,_0x352626){return _0x3a755a('HGET',[_0x2b93f7,_0x352626]);},'HGETALL'(_0x3e882f){return _0x3a755a('HGETALL',[_0x3e882f]);},'HINCRBYFLOAT'(_0x1ba59f,_0x3d8a08,_0x2f34ed){return _0x3a755a('HINCRBYFLOAT',[_0x1ba59f,_0x3d8a08,_0x2f34ed]);},'HMGET'(_0xccc3c1,_0x4a1da9){return _0x3a755a('HMGET',[_0xccc3c1,_0x4a1da9]);},'HSET'(_0x1ea67f,_0x374035){return _0x3a755a('HSET',[_0x1ea67f,_0x374035]);},'LRANGE'(_0x24566c,_0x4c3338,_0x797f03){return _0x3a755a('LRANGE',[_0x24566c,_0x4c3338,_0x797f03]);},'RPUSH'(_0x1695b6,_0x54fab6){return _0x3a755a('RPUSH',[_0x1695b6,_0x54fab6]);},'ZADD'(_0x454c0d,_0x4ecd01,_0x358ca8){return _0x3a755a('ZADD',[_0x454c0d,_0x4ecd01,_0x358ca8]);},'XGROUP'(_0x4245a4,_0x31554a,_0x1458c0,_0x10ce99,_0x10eecb){return _0x3a755a('XGROUP',[_0x4245a4,_0x31554a,_0x1458c0,_0x10ce99,_0x10eecb]);},'EXISTS':function(_0x13aba3){throw new Error('Function\x20not\x20implemented.');},'HMPUSH':function(_0x1b1238,_0x3e4f04){throw new Error('Function\x20not\x20implemented.');},'LPUSH':function(_0x570c27,_0x577e47){throw new Error('Function\x20not\x20implemented.');},'SET':function(_0x3620c0,_0x160556){throw new Error('Function\x20not\x20implemented.');},'ZRANGE_WITHSCORES':function(_0x57f2d7,_0x110850,_0x3dbb71){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(_0x1036c7,_0x179c94){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(_0x1c6e1d,_0x1809ea){throw new Error('Function\x20not\x20implemented.');}};return _0x1db936;}return this['storeClient']['multi']();}async['exec'](..._0x5e2f65){return await this['storeClient']['sendCommand'](_0x5e2f65);}async['setnxex'](_0x127b75,_0x4952a8,_0x3254dd){const _0x5be0ea=await this['storeClient'][this['commands']['set']](_0x127b75,_0x4952a8,{'NX':!![],'EX':_0x3254dd});return this['isSuccessful'](_0x5be0ea);}async['zAdd'](_0x3b21b3,_0x29a36a,_0x15a163,_0x116689){return await(_0x116689||this['storeClient'])[this['commands']['zadd']](_0x3b21b3,{'score':_0x29a36a,'value':_0x15a163['toString']()});}async['zRangeByScore'](_0x5f56f8,_0x4fee21,_0x171548){const _0x2e534e=await this['storeClient'][this['commands']['zrangebyscore']](_0x5f56f8,_0x4fee21,_0x171548);if(_0x2e534e?.['length']>0x0)return _0x2e534e[0x0];return null;}}exports['RedisStoreService']=RedisStoreService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x2421(_0x5a4a15,_0x300e06){var _0x4f2aa8=_0x4f2a();return _0x2421=function(_0x24215d,_0x152ed8){_0x24215d=_0x24215d-0x139;var _0x402b4d=_0x4f2aa8[_0x24215d];return _0x402b4d;},_0x2421(_0x5a4a15,_0x300e06);}(function(_0x46cd06,_0x23493f){var _0x316e28=_0x2421,_0x1639ea=_0x46cd06();while(!![]){try{var _0x22b54a=parseInt(_0x316e28(0x142))/0x1+-parseInt(_0x316e28(0x13c))/0x2+-parseInt(_0x316e28(0x143))/0x3*(parseInt(_0x316e28(0x13a))/0x4)+parseInt(_0x316e28(0x141))/0x5+-parseInt(_0x316e28(0x13b))/0x6*(parseInt(_0x316e28(0x13d))/0x7)+-parseInt(_0x316e28(0x13f))/0x8*(-parseInt(_0x316e28(0x140))/0x9)+-parseInt(_0x316e28(0x13e))/0xa*(parseInt(_0x316e28(0x139))/0xb);if(_0x22b54a===_0x23493f)break;else _0x1639ea['push'](_0x1639ea['shift']());}catch(_0x24ed84){_0x1639ea['push'](_0x1639ea['shift']());}}}(_0x4f2a,0xea91a));Object['defineProperty'](exports,'__esModule',{'value':!![]});function _0x4f2a(){var _0x2b2c88=['7603920zDRiSv','1307416tJGvPR','2319dMgqse','4929331ZVhTcX','3628ohRhuv','12BPrvHs','3629638NrOUqh','859327nSwFcU','10GnxlTv','210536zzmHwA','459fCWFWr'];_0x4f2a=function(){return _0x2b2c88;};return _0x4f2a();}
|
|
@@ -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);
|