@hotmeshio/hotmesh 0.3.32 → 0.4.0
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 +128 -823
- package/build/index.d.ts +9 -9
- package/build/index.js +10 -10
- package/build/package.json +22 -21
- package/build/types/error.d.ts +5 -5
- package/build/types/exporter.d.ts +1 -1
- package/build/types/index.d.ts +3 -3
- package/build/types/manifest.d.ts +2 -2
- package/build/types/{meshflow.d.ts → memflow.d.ts} +15 -15
- package/build/types/meshdata.d.ts +3 -3
- package/build/types/postgres.d.ts +7 -0
- package/build/types/stream.d.ts +3 -0
- package/index.ts +11 -11
- package/package.json +22 -21
- package/typedoc.json +8 -7
- package/types/error.ts +5 -5
- package/types/exporter.ts +1 -1
- package/types/index.ts +7 -7
- package/types/manifest.ts +2 -2
- package/types/{meshflow.ts → memflow.ts} +15 -15
- package/types/meshdata.ts +3 -3
- package/types/postgres.ts +9 -0
- package/types/stream.ts +4 -0
- package/build/modules/enums.d.ts +0 -110
- package/build/modules/enums.js +0 -134
- package/build/modules/errors.d.ts +0 -124
- package/build/modules/errors.js +0 -191
- package/build/modules/key.d.ts +0 -66
- package/build/modules/key.js +0 -1
- package/build/modules/storage.d.ts +0 -3
- package/build/modules/storage.js +0 -5
- package/build/modules/utils.d.ts +0 -119
- package/build/modules/utils.js +0 -1
- package/build/services/activities/activity.d.ts +0 -104
- package/build/services/activities/activity.js +0 -1
- package/build/services/activities/await.d.ts +0 -12
- package/build/services/activities/await.js +0 -1
- package/build/services/activities/cycle.d.ts +0 -19
- package/build/services/activities/cycle.js +0 -1
- package/build/services/activities/hook.d.ts +0 -27
- package/build/services/activities/hook.js +0 -1
- package/build/services/activities/index.d.ts +0 -19
- package/build/services/activities/index.js +0 -1
- package/build/services/activities/interrupt.d.ts +0 -16
- package/build/services/activities/interrupt.js +0 -1
- package/build/services/activities/signal.d.ts +0 -20
- package/build/services/activities/signal.js +0 -1
- package/build/services/activities/trigger.d.ts +0 -37
- package/build/services/activities/trigger.js +0 -1
- package/build/services/activities/worker.d.ts +0 -12
- package/build/services/activities/worker.js +0 -1
- package/build/services/collator/index.d.ts +0 -111
- package/build/services/collator/index.js +0 -1
- package/build/services/compiler/deployer.d.ts +0 -40
- package/build/services/compiler/deployer.js +0 -1
- package/build/services/compiler/index.d.ts +0 -32
- package/build/services/compiler/index.js +0 -1
- package/build/services/compiler/validator.d.ts +0 -34
- package/build/services/compiler/validator.js +0 -1
- package/build/services/connector/factory.d.ts +0 -22
- package/build/services/connector/factory.js +0 -99
- package/build/services/connector/index.d.ts +0 -30
- package/build/services/connector/index.js +0 -54
- package/build/services/connector/providers/ioredis.d.ts +0 -9
- package/build/services/connector/providers/ioredis.js +0 -26
- package/build/services/connector/providers/nats.d.ts +0 -9
- package/build/services/connector/providers/nats.js +0 -34
- package/build/services/connector/providers/postgres.d.ts +0 -20
- package/build/services/connector/providers/postgres.js +0 -102
- package/build/services/connector/providers/redis.d.ts +0 -9
- package/build/services/connector/providers/redis.js +0 -38
- package/build/services/engine/index.d.ts +0 -264
- package/build/services/engine/index.js +0 -1
- package/build/services/exporter/index.d.ts +0 -44
- package/build/services/exporter/index.js +0 -1
- package/build/services/hotmesh/index.d.ts +0 -340
- package/build/services/hotmesh/index.js +0 -479
- package/build/services/logger/index.d.ts +0 -16
- package/build/services/logger/index.js +0 -54
- package/build/services/mapper/index.d.ts +0 -28
- package/build/services/mapper/index.js +0 -1
- package/build/services/meshcall/index.d.ts +0 -194
- package/build/services/meshcall/index.js +0 -452
- package/build/services/meshcall/schemas/factory.d.ts +0 -9
- package/build/services/meshcall/schemas/factory.js +0 -189
- package/build/services/meshdata/index.d.ts +0 -795
- package/build/services/meshdata/index.js +0 -1235
- package/build/services/meshflow/client.d.ts +0 -108
- package/build/services/meshflow/client.js +0 -371
- package/build/services/meshflow/connection.d.ts +0 -23
- package/build/services/meshflow/connection.js +0 -33
- package/build/services/meshflow/exporter.d.ts +0 -51
- package/build/services/meshflow/exporter.js +0 -1
- package/build/services/meshflow/handle.d.ts +0 -90
- package/build/services/meshflow/handle.js +0 -176
- package/build/services/meshflow/index.d.ts +0 -111
- package/build/services/meshflow/index.js +0 -117
- package/build/services/meshflow/schemas/factory.d.ts +0 -29
- package/build/services/meshflow/schemas/factory.js +0 -2492
- package/build/services/meshflow/search.d.ts +0 -142
- package/build/services/meshflow/search.js +0 -320
- package/build/services/meshflow/worker.d.ts +0 -124
- package/build/services/meshflow/worker.js +0 -514
- package/build/services/meshflow/workflow/all.d.ts +0 -7
- package/build/services/meshflow/workflow/all.js +0 -15
- package/build/services/meshflow/workflow/common.d.ts +0 -18
- package/build/services/meshflow/workflow/common.js +0 -45
- package/build/services/meshflow/workflow/context.d.ts +0 -6
- package/build/services/meshflow/workflow/context.js +0 -45
- package/build/services/meshflow/workflow/didRun.d.ts +0 -7
- package/build/services/meshflow/workflow/didRun.js +0 -22
- package/build/services/meshflow/workflow/emit.d.ts +0 -11
- package/build/services/meshflow/workflow/emit.js +0 -29
- package/build/services/meshflow/workflow/enrich.d.ts +0 -9
- package/build/services/meshflow/workflow/enrich.js +0 -17
- package/build/services/meshflow/workflow/execChild.d.ts +0 -18
- package/build/services/meshflow/workflow/execChild.js +0 -102
- package/build/services/meshflow/workflow/hook.d.ts +0 -9
- package/build/services/meshflow/workflow/hook.js +0 -40
- package/build/services/meshflow/workflow/index.d.ts +0 -70
- package/build/services/meshflow/workflow/index.js +0 -83
- package/build/services/meshflow/workflow/interrupt.d.ts +0 -9
- package/build/services/meshflow/workflow/interrupt.js +0 -24
- package/build/services/meshflow/workflow/isSideEffectAllowed.d.ts +0 -10
- package/build/services/meshflow/workflow/isSideEffectAllowed.js +0 -33
- package/build/services/meshflow/workflow/proxyActivities.d.ts +0 -20
- package/build/services/meshflow/workflow/proxyActivities.js +0 -97
- package/build/services/meshflow/workflow/random.d.ts +0 -6
- package/build/services/meshflow/workflow/random.js +0 -16
- package/build/services/meshflow/workflow/searchMethods.d.ts +0 -6
- package/build/services/meshflow/workflow/searchMethods.js +0 -25
- package/build/services/meshflow/workflow/signal.d.ts +0 -7
- package/build/services/meshflow/workflow/signal.js +0 -28
- package/build/services/meshflow/workflow/sleepFor.d.ts +0 -8
- package/build/services/meshflow/workflow/sleepFor.js +0 -35
- package/build/services/meshflow/workflow/trace.d.ts +0 -14
- package/build/services/meshflow/workflow/trace.js +0 -33
- package/build/services/meshflow/workflow/waitFor.d.ts +0 -8
- package/build/services/meshflow/workflow/waitFor.js +0 -35
- package/build/services/meshos/index.d.ts +0 -293
- package/build/services/meshos/index.js +0 -547
- package/build/services/pipe/functions/array.d.ts +0 -17
- package/build/services/pipe/functions/array.js +0 -1
- package/build/services/pipe/functions/bitwise.d.ts +0 -9
- package/build/services/pipe/functions/bitwise.js +0 -1
- package/build/services/pipe/functions/conditional.d.ts +0 -13
- package/build/services/pipe/functions/conditional.js +0 -1
- package/build/services/pipe/functions/cron.d.ts +0 -12
- package/build/services/pipe/functions/cron.js +0 -1
- package/build/services/pipe/functions/date.d.ts +0 -58
- package/build/services/pipe/functions/date.js +0 -1
- package/build/services/pipe/functions/index.d.ts +0 -29
- package/build/services/pipe/functions/index.js +0 -1
- package/build/services/pipe/functions/json.d.ts +0 -5
- package/build/services/pipe/functions/json.js +0 -1
- package/build/services/pipe/functions/logical.d.ts +0 -5
- package/build/services/pipe/functions/logical.js +0 -1
- package/build/services/pipe/functions/math.d.ts +0 -42
- package/build/services/pipe/functions/math.js +0 -1
- package/build/services/pipe/functions/number.d.ts +0 -21
- package/build/services/pipe/functions/number.js +0 -1
- package/build/services/pipe/functions/object.d.ts +0 -25
- package/build/services/pipe/functions/object.js +0 -1
- package/build/services/pipe/functions/string.d.ts +0 -23
- package/build/services/pipe/functions/string.js +0 -1
- package/build/services/pipe/functions/symbol.d.ts +0 -12
- package/build/services/pipe/functions/symbol.js +0 -1
- package/build/services/pipe/functions/unary.d.ts +0 -7
- package/build/services/pipe/functions/unary.js +0 -1
- package/build/services/pipe/index.d.ts +0 -48
- package/build/services/pipe/index.js +0 -1
- package/build/services/quorum/index.d.ts +0 -90
- package/build/services/quorum/index.js +0 -1
- package/build/services/reporter/index.d.ts +0 -50
- package/build/services/reporter/index.js +0 -1
- package/build/services/router/index.d.ts +0 -60
- package/build/services/router/index.js +0 -1
- package/build/services/search/factory.d.ts +0 -7
- package/build/services/search/factory.js +0 -24
- package/build/services/search/index.d.ts +0 -22
- package/build/services/search/index.js +0 -10
- package/build/services/search/providers/postgres/postgres.d.ts +0 -24
- package/build/services/search/providers/postgres/postgres.js +0 -1
- package/build/services/search/providers/redis/ioredis.d.ts +0 -18
- package/build/services/search/providers/redis/ioredis.js +0 -1
- package/build/services/search/providers/redis/redis.d.ts +0 -18
- package/build/services/search/providers/redis/redis.js +0 -1
- package/build/services/serializer/index.d.ts +0 -42
- package/build/services/serializer/index.js +0 -1
- package/build/services/store/cache.d.ts +0 -67
- package/build/services/store/cache.js +0 -128
- package/build/services/store/factory.d.ts +0 -8
- package/build/services/store/factory.js +0 -24
- package/build/services/store/index.d.ts +0 -89
- package/build/services/store/index.js +0 -9
- package/build/services/store/providers/postgres/kvsql.d.ts +0 -168
- package/build/services/store/providers/postgres/kvsql.js +0 -1
- package/build/services/store/providers/postgres/kvtables.d.ts +0 -20
- package/build/services/store/providers/postgres/kvtables.js +0 -1
- package/build/services/store/providers/postgres/kvtransaction.d.ts +0 -36
- package/build/services/store/providers/postgres/kvtransaction.js +0 -1
- package/build/services/store/providers/postgres/kvtypes/hash.d.ts +0 -60
- package/build/services/store/providers/postgres/kvtypes/hash.js +0 -1
- package/build/services/store/providers/postgres/kvtypes/list.d.ts +0 -33
- package/build/services/store/providers/postgres/kvtypes/list.js +0 -1
- package/build/services/store/providers/postgres/kvtypes/string.d.ts +0 -20
- package/build/services/store/providers/postgres/kvtypes/string.js +0 -1
- package/build/services/store/providers/postgres/kvtypes/zset.d.ts +0 -41
- package/build/services/store/providers/postgres/kvtypes/zset.js +0 -1
- package/build/services/store/providers/postgres/postgres.d.ts +0 -145
- package/build/services/store/providers/postgres/postgres.js +0 -1
- package/build/services/store/providers/redis/_base.d.ts +0 -137
- package/build/services/store/providers/redis/_base.js +0 -1
- package/build/services/store/providers/redis/ioredis.d.ts +0 -20
- package/build/services/store/providers/redis/ioredis.js +0 -1
- package/build/services/store/providers/redis/redis.d.ts +0 -18
- package/build/services/store/providers/redis/redis.js +0 -1
- package/build/services/store/providers/store-initializable.d.ts +0 -5
- package/build/services/store/providers/store-initializable.js +0 -1
- package/build/services/stream/factory.d.ts +0 -8
- package/build/services/stream/factory.js +0 -37
- package/build/services/stream/index.d.ts +0 -64
- package/build/services/stream/index.js +0 -11
- package/build/services/stream/providers/nats/nats.d.ts +0 -59
- package/build/services/stream/providers/nats/nats.js +0 -1
- package/build/services/stream/providers/postgres/kvtables.d.ts +0 -2
- package/build/services/stream/providers/postgres/kvtables.js +0 -1
- package/build/services/stream/providers/postgres/postgres.d.ts +0 -88
- package/build/services/stream/providers/postgres/postgres.js +0 -1
- package/build/services/stream/providers/redis/ioredis.d.ts +0 -60
- package/build/services/stream/providers/redis/ioredis.js +0 -1
- package/build/services/stream/providers/redis/redis.d.ts +0 -60
- package/build/services/stream/providers/redis/redis.js +0 -1
- package/build/services/stream/providers/stream-initializable.d.ts +0 -4
- package/build/services/stream/providers/stream-initializable.js +0 -1
- package/build/services/sub/factory.d.ts +0 -7
- package/build/services/sub/factory.js +0 -29
- package/build/services/sub/index.d.ts +0 -22
- package/build/services/sub/index.js +0 -10
- package/build/services/sub/providers/nats/nats.d.ts +0 -19
- package/build/services/sub/providers/nats/nats.js +0 -1
- package/build/services/sub/providers/postgres/postgres.d.ts +0 -19
- package/build/services/sub/providers/postgres/postgres.js +0 -1
- package/build/services/sub/providers/redis/ioredis.d.ts +0 -17
- package/build/services/sub/providers/redis/ioredis.js +0 -1
- package/build/services/sub/providers/redis/redis.d.ts +0 -17
- package/build/services/sub/providers/redis/redis.js +0 -1
- package/build/services/task/index.d.ts +0 -36
- package/build/services/task/index.js +0 -1
- package/build/services/telemetry/index.d.ts +0 -52
- package/build/services/telemetry/index.js +0 -1
- package/build/services/worker/index.d.ts +0 -77
- package/build/services/worker/index.js +0 -1
- /package/build/types/{meshflow.js → memflow.js} +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
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 { PostgresClientType } from '../../../../types';
|
|
16
|
-
import { KVSQL } from './kvsql';
|
|
17
|
-
import { KVTables } from './kvtables';
|
|
18
|
-
declare class PostgresStoreService extends StoreService<ProviderClient, ProviderTransaction> {
|
|
19
|
-
pgClient: PostgresClientType;
|
|
20
|
-
kvTables: ReturnType<typeof KVTables>;
|
|
21
|
-
transact(): ProviderTransaction;
|
|
22
|
-
constructor(storeClient: ProviderClient);
|
|
23
|
-
init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
|
|
24
|
-
isSuccessful(result: any): boolean;
|
|
25
|
-
delistSignalKey(key: string, target: string): Promise<void>;
|
|
26
|
-
zAdd(key: string, score: number | string, value: string | number, transaction?: ProviderTransaction): Promise<any>;
|
|
27
|
-
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
28
|
-
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
29
|
-
/**
|
|
30
|
-
* strongly types the transaction or storeClient as KVSQL,
|
|
31
|
-
* so methods are visible to the compiler/code editor
|
|
32
|
-
*/
|
|
33
|
-
kvsql(transaction?: ProviderTransaction): KVSQL;
|
|
34
|
-
invalidateCache(): void;
|
|
35
|
-
/**
|
|
36
|
-
* At any given time only a single engine will
|
|
37
|
-
* check for and process work items in the
|
|
38
|
-
* time and signal task queues.
|
|
39
|
-
*/
|
|
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
|
-
/**
|
|
66
|
-
* Returns custom search fields and values.
|
|
67
|
-
* NOTE: The `fields` param should NOT prefix items with an underscore.
|
|
68
|
-
* NOTE: Literals are allowed if quoted.
|
|
69
|
-
*/
|
|
70
|
-
getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
|
|
71
|
-
getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
|
|
72
|
-
getRaw(jobId: string): Promise<StringStringType>;
|
|
73
|
-
/**
|
|
74
|
-
* collate is a generic method for incrementing a value in a hash
|
|
75
|
-
* in order to track their progress during processing.
|
|
76
|
-
*/
|
|
77
|
-
collate(jobId: string, activityId: string, amount: number, dIds: StringStringType, transaction?: ProviderTransaction): Promise<number>;
|
|
78
|
-
/**
|
|
79
|
-
* Synthentic collation affects those activities in the graph
|
|
80
|
-
* that represent the synthetic DAG that was materialized during compilation;
|
|
81
|
-
* Synthetic collation distinguishes `re-entry due to failure` from
|
|
82
|
-
* `purposeful re-entry`.
|
|
83
|
-
*/
|
|
84
|
-
collateSynthetic(jobId: string, guid: string, amount: number, transaction?: ProviderTransaction): Promise<number>;
|
|
85
|
-
setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
|
|
86
|
-
getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
|
|
87
|
-
getSchemas(appVersion: AppVID): Promise<Record<string, ActivityType>>;
|
|
88
|
-
setSchemas(schemas: Record<string, ActivityType>, appVersion: AppVID): Promise<any>;
|
|
89
|
-
setSubscriptions(subscriptions: Record<string, any>, appVersion: AppVID): Promise<boolean>;
|
|
90
|
-
getSubscriptions(appVersion: AppVID): Promise<Record<string, string>>;
|
|
91
|
-
getSubscription(topic: string, appVersion: AppVID): Promise<string | undefined>;
|
|
92
|
-
setTransitions(transitions: Record<string, any>, appVersion: AppVID): Promise<any>;
|
|
93
|
-
getTransitions(appVersion: AppVID): Promise<Transitions>;
|
|
94
|
-
setHookRules(hookRules: Record<string, HookRule[]>): Promise<any>;
|
|
95
|
-
getHookRules(): Promise<Record<string, HookRule[]>>;
|
|
96
|
-
setHookSignal(hook: HookSignal, transaction?: ProviderTransaction): Promise<any>;
|
|
97
|
-
getHookSignal(topic: string, resolved: string): Promise<string | undefined>;
|
|
98
|
-
deleteHookSignal(topic: string, resolved: string): Promise<number | undefined>;
|
|
99
|
-
addTaskQueues(keys: string[]): Promise<void>;
|
|
100
|
-
getActiveTaskQueue(): Promise<string | null>;
|
|
101
|
-
deleteProcessedTaskQueue(workItemKey: string, key: string, processedKey: string, scrub?: boolean): Promise<void>;
|
|
102
|
-
processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
|
|
103
|
-
expireJob(jobId: string, inSeconds: number, transaction?: ProviderTransaction): Promise<void>;
|
|
104
|
-
getDependencies(jobId: string): Promise<string[]>;
|
|
105
|
-
/**
|
|
106
|
-
* registers a hook activity to be awakened (uses ZSET to
|
|
107
|
-
* store the 'sleep group' and LIST to store the events
|
|
108
|
-
* for the given sleep group. Sleep groups are
|
|
109
|
-
* organized into 'n'-second blocks (LISTS))
|
|
110
|
-
*/
|
|
111
|
-
registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: ProviderTransaction): Promise<void>;
|
|
112
|
-
getNextTask(listKey?: string): Promise<[
|
|
113
|
-
listKey: string,
|
|
114
|
-
jobId: string,
|
|
115
|
-
gId: string,
|
|
116
|
-
activityId: string,
|
|
117
|
-
type: WorkListTaskType
|
|
118
|
-
] | boolean>;
|
|
119
|
-
/**
|
|
120
|
-
* when processing time jobs, the target LIST ID returned
|
|
121
|
-
* from the ZSET query can be prefixed to denote what to
|
|
122
|
-
* do with the work list. (not everything is known in advance,
|
|
123
|
-
* so the ZSET key defines HOW to approach the work in the
|
|
124
|
-
* generic LIST (lists typically contain target job ids)
|
|
125
|
-
* @param {string} listKey - composite key
|
|
126
|
-
*/
|
|
127
|
-
resolveTaskKeyContext(listKey: string): [WorkListTaskType, string];
|
|
128
|
-
/**
|
|
129
|
-
* Interrupts a job and sets sets a job error (410), if 'throw'!=false.
|
|
130
|
-
* This method is called by the engine and not by an activity and is
|
|
131
|
-
* followed by a call to execute job completion/cleanup tasks
|
|
132
|
-
* associated with a job completion event.
|
|
133
|
-
*
|
|
134
|
-
* Todo: move most of this logic to the engine (too much logic for the store)
|
|
135
|
-
*/
|
|
136
|
-
interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
|
|
137
|
-
scrub(jobId: string): Promise<void>;
|
|
138
|
-
findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
|
|
139
|
-
findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, // Unused in SQL provider
|
|
140
|
-
cursor?: string): Promise<[string, Record<string, string>]>;
|
|
141
|
-
setThrottleRate(options: ThrottleOptions): Promise<void>;
|
|
142
|
-
getThrottleRates(): Promise<StringStringType>;
|
|
143
|
-
getThrottleRate(topic: string): Promise<number>;
|
|
144
|
-
}
|
|
145
|
-
export { PostgresStoreService };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';const P=b;(function(c,d){const O=b,e=c();while(!![]){try{const f=-parseInt(O(0x1c2))/0x1*(-parseInt(O(0x173))/0x2)+parseInt(O(0x1ca))/0x3*(-parseInt(O(0x13b))/0x4)+parseInt(O(0x1b5))/0x5*(-parseInt(O(0x150))/0x6)+parseInt(O(0x16f))/0x7+-parseInt(O(0x201))/0x8+-parseInt(O(0x145))/0x9*(parseInt(O(0x1b3))/0xa)+parseInt(O(0x1d0))/0xb;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xb0899));function b(c,d){const e=a();return b=function(f,g){f=f-0x12f;let h=e[f];return h;},b(c,d);}var __createBinding=this&&this[P(0x206)]||(Object['create']?function(c,d,f,g){const Q=P;void 0x0===g&&(g=f);var h=Object['getOwnPropertyDescriptor'](d,f);h&&!(Q(0x193)in h?!d['__esModule']:h[Q(0x1d7)]||h['configurable'])||(h={'enumerable':!0x0,'get':function(){return d[f];}}),Object[Q(0x15a)](c,g,h);}:function(c,d,f,g){void 0x0===g&&(g=f),c[g]=d[f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object[P(0x1c4)]?function(c,d){const R=P;Object['defineProperty'](c,R(0x1e5),{'enumerable':!0x0,'value':d});}:function(c,d){c['default']=d;}),__importStar=this&&this['__importStar']||function(c){const S=P;if(c&&c[S(0x1ab)])return c;var d={};if(null!=c){for(var f in c)S(0x1e5)!==f&&Object['prototype'][S(0x19a)][S(0x144)](c,f)&&__createBinding(d,c,f);}return __setModuleDefault(d,c),d;};Object[P(0x15a)](exports,P(0x1ab),{'value':!0x0}),exports[P(0x187)]=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require(P(0x1cb)),serializer_1=require('../../../serializer'),utils_1=require(P(0x17d)),enums_1=require(P(0x1c3)),cache_1=require(P(0x137)),__1=require(P(0x199)),kvsql_1=require(P(0x1af)),kvtables_1=require(P(0x1ec));class PostgresStoreService extends __1['StoreService']{[P(0x186)](){const T=P;return this[T(0x15e)]['transact']();}constructor(c){const U=P;super(c),this[U(0x13a)]=c,this[U(0x15e)]=new kvsql_1[(U(0x190))](c,this[U(0x1fc)],this[U(0x196)]),this[U(0x203)]=(0x0,kvtables_1['KVTables'])(this);}async['init'](c=key_1['HMNS'],d,f){const V=P;this[V(0x15e)][V(0x1fc)]=this[V(0x1fc)]=c,this['storeClient']['appId']=this[V(0x196)]=d,this[V(0x164)]=f,await this[V(0x203)]['deploy'](d);const g=await this[V(0x213)](!0x0);return this[V(0x1f3)]=new cache_1[(V(0x15b))](d,g),this['serializer']=new serializer_1[(V(0x18b))](),await this[V(0x208)](d),this[V(0x1f3)]['getApps']();}[P(0x177)](c){return c>0x0||'OK'===c||!0x0===c;}async['delistSignalKey'](c,d){const W=P;await this[W(0x182)]()[W(0x16a)](c+':'+d);}async['zAdd'](c,d,f,g){const X=P;return await this[X(0x182)](g)[X(0x1f5)](c,Number(d),f[X(0x130)]());}async['zRangeByScore'](c,d,f){const Y=P,g=await this[Y(0x182)]()[Y(0x210)](c,Number(d),Number(f));return g?.['length']>0x0?g[0x0]:null;}['mintKey'](c,d){const Z=P;if(!this['namespace'])throw new Error(Z(0x1a7));return key_1[Z(0x1c7)][Z(0x211)](this[Z(0x1fc)],c,d);}[P(0x182)](c){const a0=P;return c||this[a0(0x15e)];}[P(0x1d6)](){this['cache']['invalidate']();}async[P(0x157)](c,d=enums_1[P(0x12f)]){const a1=P,f=this[a1(0x211)](key_1[a1(0x20e)][a1(0x169)],{'appId':this['appId'],'scoutType':c}),g=await this[a1(0x182)]()[a1(0x1b2)](f,c+':'+(0x0,utils_1[a1(0x166)])(new Date()),{'nx':!0x0,'ex':d-0x1});return this[a1(0x177)](g);}async[P(0x1f4)](c){const a2=P,d=this[a2(0x211)](key_1[a2(0x20e)][a2(0x169)],{'appId':this[a2(0x196)],'scoutType':c}),f=await this[a2(0x182)]()[a2(0x16a)](d);return this[a2(0x177)](f);}async['getSettings'](c=!0x1){const a3=P;let d=this[a3(0x1f3)]?.['getSettings']();if(d)return d;if(c){const f=(await Promise[a3(0x14d)]()[a3(0x153)](()=>__importStar(require(a3(0x1cc)))))[a3(0x19d)]||a3(0x194);return d={'namespace':key_1[a3(0x170)],'version':f},await this[a3(0x138)](d),d;}throw new Error(a3(0x134));}async[P(0x138)](c){const a4=P,d=this[a4(0x211)](key_1[a4(0x20e)][a4(0x1f9)],{});return await this['kvsql']()['hset'](d,c);}async['reserveSymbolRange'](c,d,f,g=0x1){const a5=P,j=this[a5(0x211)](key_1[a5(0x20e)][a5(0x1b0)],{'appId':this[a5(0x196)]}),k=this[a5(0x211)](key_1['KeyType'][a5(0x1b0)],{'activityId':c,'appId':this[a5(0x196)]});if(await this[a5(0x182)]()[a5(0x13c)](j,c,a5(0x152))){const l=await this[a5(0x182)]()[a5(0x183)](j,a5(0x1db),d),m=l-d,p=m+':'+(l-0x1);await this[a5(0x182)]()['hset'](j,{[c]:p});const q=this['seedSymbols'](c,f,m);return await this[a5(0x182)]()[a5(0x160)](k,q),[m+serializer_1[a5(0x184)]['SLOTS'],l-0x1,{}];}{const u=await this[a5(0x182)]()[a5(0x147)](j,c),[v]=u[a5(0x1a6)](':');if('?'===v){if(await(0x0,utils_1[a5(0x1e3)])(0x3e8*g),g<0x5)return this[a5(0x18d)](c,d,f,g+0x1);throw new Error(a5(0x1e7));}{const w=parseInt(v,0xa),x=await this[a5(0x182)]()[a5(0x1ba)](k),y=Object[a5(0x185)](x)[a5(0x20c)];return[w+serializer_1[a5(0x184)][a5(0x1eb)]+y,Number(w+d-0x1),x];}}}async[P(0x1a3)](){const a6=P,c=this[a6(0x211)](key_1['KeyType'][a6(0x1b0)],{'appId':this[a6(0x196)]}),d=await this[a6(0x182)]()['hgetall'](c),f=Object[a6(0x185)](d)[a6(0x161)]();delete f[a6(0x1db)];const g=this[a6(0x182)](this[a6(0x186)]());for(const k of f){const l=this[a6(0x211)](key_1[a6(0x20e)][a6(0x1b0)],{'activityId':k,'appId':this[a6(0x196)]});g[a6(0x1ba)](l);}const h=await g[a6(0x171)](),j={};return h[a6(0x1a8)]((m,o)=>{const a7=a6;if(m){let p;p=Array[a7(0x1b1)](m)&&0x2===m[a7(0x20c)]?m[0x1]:m;for(const [q,r]of Object['entries'](p))j[r]=q['startsWith'](f[o])?q:f[o]+'/'+q;}}),j;}async[P(0x154)](c){const a8=P;let d=this[a8(0x1f3)][a8(0x154)](this[a8(0x196)],c);if(d)return d;{const f={'activityId':c,'appId':this['appId']},g=this[a8(0x211)](key_1['KeyType'][a8(0x1b0)],f);return d=await this[a8(0x182)]()['hgetall'](g),this[a8(0x1f3)]['setSymbols'](this[a8(0x196)],c,d),d;}}async[P(0x18c)](c,d){const a9=P;if(!d||!Object[a9(0x185)](d)[a9(0x20c)])return!0x1;const f={'activityId':c,'appId':this['appId']},g=this['mintKey'](key_1[a9(0x20e)][a9(0x1b0)],f),h=await this[a9(0x182)]()[a9(0x160)](g,d);return this[a9(0x1f3)][a9(0x156)](this[a9(0x196)],c),h>0x0;}[P(0x180)](c,d,f){const aa=P;return aa(0x1c9)===d?this[aa(0x1df)](f):this[aa(0x20d)](f,c);}[P(0x1df)](c){const ab=P,d={};return serializer_1['MDATA_SYMBOLS'][ab(0x1c9)][ab(0x162)][ab(0x1a8)](f=>{const ac=ab;d['metadata/'+f]=(0x0,utils_1[ac(0x17e)])(c),c++;}),d;}[P(0x20d)](c,d){const ad=P,f={};return serializer_1['MDATA_SYMBOLS'][ad(0x15d)][ad(0x162)][ad(0x1a8)](g=>{const ae=ad;f[d+'/output/metadata/'+g]=(0x0,utils_1[ae(0x17e)])(c),c++;}),f;}async[P(0x168)](){const af=P;let c=this['cache'][af(0x168)](this[af(0x196)]);if(c)return c;{const d=this[af(0x211)](key_1[af(0x20e)][af(0x1e6)],{'appId':this['appId']});return c=await this[af(0x182)]()[af(0x1ba)](d),this[af(0x1f3)][af(0x1de)](this[af(0x196)],c),c;}}async[P(0x1cd)](c){const ag=P;if(!c||!Object['keys'](c)[ag(0x20c)])return!0x1;const d=this['mintKey'](key_1['KeyType'][ag(0x1e6)],{'appId':this[ag(0x196)]}),f=await this[ag(0x182)]()[ag(0x160)](d,c);return this['cache'][ag(0x1ee)](this[ag(0x196)]),this[ag(0x177)](f);}async[P(0x146)](c){const ah=P,d=[];for(const h of c)d[ah(0x140)](this[ah(0x154)](h));const f=await Promise['all'](d),g={};for(const j of c)g[j]=f[ah(0x1fa)]();return g;}async[P(0x208)](c,d=!0x1){const ai=P;let f=this['cache'][ai(0x208)](c);if(d||!(f&&Object[ai(0x185)](f)[ai(0x20c)]>0x0)){const g={'appId':c},h=this[ai(0x211)](key_1['KeyType'][ai(0x1ae)],g),j=await this['kvsql']()[ai(0x1ba)](h);if(!j)return null;f={};for(const k in j)try{f[k]=ai(0x1dd)===k?'true'===j[k]:j[k];}catch(l){f[k]=j[k];}this[ai(0x1f3)]['setApp'](c,f);}return f;}async[P(0x1bb)](c,d){const aj=P,f={'appId':c},g=this[aj(0x211)](key_1[aj(0x20e)][aj(0x1ae)],f),h='versions/'+d,j={'id':c,'version':d,[h]:aj(0x1f1)+(0x0,utils_1['formatISODate'])(new Date())};return await this[aj(0x182)]()[aj(0x160)](g,j),this[aj(0x1f3)][aj(0x1bb)](c,j),j;}async['activateAppVersion'](c,d){const ak=P,f={'appId':c},g=this[ak(0x211)](key_1['KeyType'][ak(0x1ae)],f),h='versions/'+d,j=await this['getApp'](c,!0x0);if(j&&j[h]){const k={'id':c,'version':d['toString'](),[h]:ak(0x204)+(0x0,utils_1[ak(0x166)])(new Date()),'active':!0x0};return Object[ak(0x205)](k)[ak(0x1a8)](([l,m])=>{const al=ak;k[l]=m[al(0x130)]();}),await this[ak(0x182)]()['hset'](g,k),!0x0;}throw new Error(ak(0x1c0)+d+ak(0x17a)+c);}async[P(0x1ad)](c,d){const am=P,f={'appId':c},g=this[am(0x211)](key_1['KeyType']['APP'],f),h={'id':c,'version':d['toString'](),['versions/'+d]:(0x0,utils_1[am(0x166)])(new Date())};return await this['kvsql']()[am(0x160)](g,h);}async[P(0x188)](c,d,f,g,h,j){const an=P,k={'appId':h['id'],'jobId':d,'jobKey':c,'dateTime':f},l=j||this[an(0x186)]();if(g[an(0x195)][an(0x20c)]){const m=this[an(0x211)](key_1['KeyType'][an(0x14e)],k);for(const {target:p,value:q}of g[an(0x195)])this[an(0x182)](l)['hincrbyfloat'](m,p,q);}for(const {target:u,value:v}of g['index']){const w={...k,'facet':u},x=this['mintKey'](key_1[an(0x20e)][an(0x1e8)],w);this[an(0x182)](l)['rpush'](x,v[an(0x130)]());}for(const {target:y,value:z}of g[an(0x1da)]){const A={...k,'facet':y},B=this['mintKey'](key_1[an(0x20e)]['JOB_STATS_MEDIAN'],A);await this['kvsql'](l)[an(0x1f5)](B,Number(z),y);}if(!j)return await l['exec']();}[P(0x1a2)](c){return c;}async[P(0x174)](c){const ao=P,d=this['kvsql'](this[ao(0x186)]());for(const h of c)d[ao(0x1ba)](h);const f=await d[ao(0x171)](),g={};for(const [j,k]of f[ao(0x205)]()){const l=c[j],m=k;if(m&&Object[ao(0x185)](m)[ao(0x20c)]>0x0){const o={...m};for(const [p,q]of Object[ao(0x205)](o))o[p]=Number(q);g[l]=o;}else g[l]={};}return g;}async['getJobIds'](c,d){const ap=P,f=this['kvsql'](this[ap(0x186)]());for(const j of c)f[ap(0x20f)](j,d[0x0],d[0x1]);const g=await f[ap(0x171)](),h={};for(const [k,l]of g[ap(0x205)]()){const m=c[k],o=l[0x1]||l;o&&o[ap(0x20c)]>0x0?h[m]=o:h[m]=[];}return h;}async[P(0x14a)](c,d,f,g){const aq=P,h=this['mintKey'](key_1[aq(0x20e)][aq(0x132)],{'appId':f,'jobId':d});return await this['kvsql'](g)['hincrbyfloat'](h,':',c);}async[P(0x212)](c,d){const ar=P,f=this['mintKey'](key_1[ar(0x20e)][ar(0x132)],{'appId':d,'jobId':c}),g=await this['kvsql']()[ar(0x147)](f,':');if(null===g)throw new Error(ar(0x209)+c+ar(0x17c));return Number(g);}async['setState']({...d},f,g,j,k,l){const as=P;delete d[as(0x197)];const m=this[as(0x211)](key_1[as(0x20e)][as(0x132)],{'appId':this['appId'],'jobId':g}),p=await this[as(0x146)](j),q=await this[as(0x168)]();this[as(0x1d3)][as(0x189)](p,q,k);const u=this[as(0x1d3)][as(0x1e1)](d,j);return null!==f?u[':']=f[as(0x130)]():delete u[':'],await this['kvsql'](l)['hset'](m,u),g;}async[P(0x18a)](c,d){const at=P,f=this['mintKey'](key_1['KeyType'][at(0x132)],{'appId':this[at(0x196)],'jobId':c}),g=d[at(0x15f)](k=>k[at(0x1ce)]('\x22')?k[at(0x13e)](0x1,-0x1):'_'+k),h=await this['kvsql']()[at(0x1d1)](f,g),j={};return d[at(0x1a8)]((k,l)=>{const au=at;k['startsWith']('\x22')&&(k=k[au(0x13e)](0x1,-0x1)),j[k]=h[l];}),j;}async['getState'](d,f,g){const av=P,j=this['mintKey'](key_1[av(0x20e)][av(0x132)],{'appId':this[av(0x196)],'jobId':d}),k=Object['keys'](f),l=await this['getSymbolKeys'](k);this['serializer']['resetSymbols'](l,{},g);const m=this[av(0x1d3)][av(0x207)](f,k,[':']),p=await this[av(0x182)]()[av(0x1d1)](j,m),q={};let u=!0x1;if(m[av(0x1a8)]((v,w)=>{p[w]&&(u=!0x0),q[v]=p[w];}),u){const v=await this['getSymbolValues']();this[av(0x1d3)][av(0x189)](l,v,g);const w=this['serializer'][av(0x1a4)](q,k);let x=0x0;return w[':']&&(x=Number(w[':']),w[av(0x197)]=x,delete w[':']),[w,x];}throw new errors_1[(av(0x139))](d);}async[P(0x1f7)](c){const aw=P,d=this['mintKey'](key_1[aw(0x20e)][aw(0x132)],{'appId':this[aw(0x196)],'jobId':c}),f=await this[aw(0x182)]()[aw(0x1ba)](d);if(!f)throw new errors_1[(aw(0x139))](c);return f;}async[P(0x175)](d,f,g,j,k){const ax=P,m=this[ax(0x211)](key_1[ax(0x20e)][ax(0x132)],{'appId':this[ax(0x196)],'jobId':d}),q=f+ax(0x17b),u=[f],v=await this[ax(0x146)](u),w=await this['getSymbolValues']();this[ax(0x1d3)][ax(0x189)](v,w,j);const x={[q]:g[ax(0x130)]()},z=this['serializer']['package'](x,u),A=Object['keys'](z)[0x0];return await this['kvsql'](k)['hincrbyfloat'](m,A,g);}async[P(0x1bf)](c,d,f,g){const ay=P,h=this[ay(0x211)](key_1['KeyType'][ay(0x132)],{'appId':this['appId'],'jobId':c});return await this[ay(0x182)](g)[ay(0x183)](h,d,f);}async['setStateNX'](c,d,f){const az=P,g=this[az(0x211)](key_1[az(0x20e)][az(0x132)],{'appId':d,'jobId':c}),h=await this[az(0x182)]()[az(0x13c)](g,':',f?.[az(0x130)]()??'1');return this['isSuccessful'](h);}async[P(0x1e4)](c,d){const aA=P,f=this[aA(0x1f3)][aA(0x1e4)](d['id'],d[aA(0x19d)],c);if(f)return f;return(await this[aA(0x1b6)](d))[c];}async[P(0x1b6)](c){const aB=P;let d=this[aB(0x1f3)][aB(0x1b6)](c['id'],c[aB(0x19d)]);if(d&&Object[aB(0x185)](d)[aB(0x20c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aB(0x19d)]},g=this[aB(0x211)](key_1['KeyType']['SCHEMAS'],f);d={};const h=await this[aB(0x182)]()[aB(0x1ba)](g);return Object[aB(0x205)](h)[aB(0x1a8)](([j,k])=>{const aC=aB;d[j]=JSON[aC(0x141)](k);}),this[aB(0x1f3)][aB(0x191)](c['id'],c['version'],d),d;}}async[P(0x191)](c,d){const aD=P,f={'appId':d['id'],'appVersion':d[aD(0x19d)]},g=this[aD(0x211)](key_1[aD(0x20e)]['SCHEMAS'],f),h={...c};Object[aD(0x205)](h)['forEach'](([k,l])=>{const aE=aD;h[k]=JSON[aE(0x1d5)](l);});const j=await this[aD(0x182)]()[aD(0x160)](g,h);return this[aD(0x1f3)]['setSchemas'](d['id'],d[aD(0x19d)],c),j;}async[P(0x1d4)](c,d){const aF=P,f={'appId':d['id'],'appVersion':d[aF(0x19d)]},g=this[aF(0x211)](key_1[aF(0x20e)][aF(0x178)],f),h={...c};Object[aF(0x205)](h)[aF(0x1a8)](([k,l])=>{const aG=aF;h[k]=JSON[aG(0x1d5)](l);});const j=await this[aF(0x182)]()[aF(0x160)](g,h);return this[aF(0x1f3)][aF(0x1d4)](d['id'],d[aF(0x19d)],c),this[aF(0x177)](j);}async[P(0x1ea)](c){const aH=P;let d=this['cache'][aH(0x1ea)](c['id'],c['version']);if(d&&Object[aH(0x185)](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aH(0x19d)]},g=this[aH(0x211)](key_1[aH(0x20e)]['SUBSCRIPTIONS'],f);return d=await this['kvsql']()[aH(0x1ba)](g)||{},Object[aH(0x205)](d)[aH(0x1a8)](([h,j])=>{const aI=aH;d[h]=JSON[aI(0x141)](j);}),this['cache'][aH(0x1d4)](c['id'],c[aH(0x19d)],d),d;}}async[P(0x20b)](c,d){return(await this['getSubscriptions'](d))[c];}async[P(0x1c6)](c,d){const aJ=P,f={'appId':d['id'],'appVersion':d[aJ(0x19d)]},g=this[aJ(0x211)](key_1['KeyType'][aJ(0x133)],f),h={...c};if(Object[aJ(0x205)](h)['forEach'](([j,k])=>{const aK=aJ;h[j]=JSON[aK(0x1d5)](k);}),0x0!==Object['keys'](h)[aJ(0x20c)]){const j=await this['kvsql']()[aJ(0x160)](g,h);return this['cache'][aJ(0x1c6)](d['id'],d['version'],c),j;}}async[P(0x16e)](c){const aL=P;let d=this[aL(0x1f3)][aL(0x16e)](c['id'],c[aL(0x19d)]);if(d&&Object[aL(0x185)](d)[aL(0x20c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[aL(0x19d)]},g=this[aL(0x211)](key_1[aL(0x20e)][aL(0x133)],f);d={};const h=await this[aL(0x182)]()[aL(0x1ba)](g);return Object['entries'](h)[aL(0x1a8)](([j,k])=>{const aM=aL;d[j]=JSON[aM(0x141)](k);}),this[aL(0x1f3)][aL(0x1c6)](c['id'],c['version'],d),d;}}async[P(0x131)](c){const aN=P,d=this[aN(0x211)](key_1[aN(0x20e)]['HOOKS'],{'appId':this[aN(0x196)]}),f={};if(Object[aN(0x205)](c)[aN(0x1a8)](([g,h])=>{const aO=aN;f[g[aO(0x130)]()]=JSON['stringify'](h);}),0x0!==Object[aN(0x185)](f)[aN(0x20c)]){const g=await this[aN(0x182)]()[aN(0x160)](d,f);return this[aN(0x1f3)][aN(0x131)](this[aN(0x196)],c),g;}}async[P(0x1d9)](){const aP=P;let c=this['cache'][aP(0x1d9)](this[aP(0x196)]);if(c&&Object['keys'](c)[aP(0x20c)]>0x0)return c;{const d=this[aP(0x211)](key_1[aP(0x20e)][aP(0x1be)],{'appId':this[aP(0x196)]}),f=await this['kvsql']()['hgetall'](d);return c={},Object[aP(0x205)](f)['forEach'](([g,h])=>{const aQ=aP;c[g]=JSON[aQ(0x141)](h);}),this[aP(0x1f3)][aP(0x131)](this['appId'],c),c;}}async[P(0x1a0)](c,d){const aR=P,f=this[aR(0x211)](key_1[aR(0x20e)][aR(0x16b)],{'appId':this['appId']}),{topic:g,resolved:h,jobId:j}=c,k=g+':'+h;await this[aR(0x182)](d)[aR(0x14f)](f+':'+k,j,Math[aR(0x14c)](c[aR(0x1aa)],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](c,d){const aS=P,f=this[aS(0x211)](key_1[aS(0x20e)]['SIGNALS'],{'appId':this[aS(0x196)]}),g=await this['kvsql']()['get'](f+':'+c+':'+d);return g?g[aS(0x130)]():void 0x0;}async['deleteHookSignal'](c,d){const aT=P,f=this[aT(0x211)](key_1[aT(0x20e)][aT(0x16b)],{'appId':this[aT(0x196)]}),g=await this[aT(0x182)]()[aT(0x16a)](f+':'+c+':'+d);return g?Number(g):void 0x0;}async[P(0x15c)](c){const aU=P,d=this[aU(0x182)](this[aU(0x186)]()),f=this['mintKey'](key_1[aU(0x20e)][aU(0x169)],{'appId':this[aU(0x196)]});for(const g of c)d[aU(0x1f5)](f,Date[aU(0x135)](),g,{'nx':!0x0});await d[aU(0x171)]();}async[P(0x1fe)](){const aV=P;let c=this[aV(0x1f3)][aV(0x1fe)](this[aV(0x196)])||null;if(!c){const d=this['mintKey'](key_1[aV(0x20e)][aV(0x169)],{'appId':this[aV(0x196)]}),f=await this[aV(0x182)]()[aV(0x1e2)](d,0x0,0x0);c=f['length']>0x0?f[0x0]:null,c&&this[aV(0x1f3)][aV(0x17f)](this[aV(0x196)],c);}return c;}async[P(0x1a5)](c,d,f,g=!0x1){const aW=P,h=this[aW(0x211)](key_1[aW(0x20e)]['WORK_ITEMS'],{'appId':this['appId']});await this[aW(0x182)]()[aW(0x202)](h,c)&&(g?(this[aW(0x182)]()[aW(0x16a)](f),this[aW(0x182)]()[aW(0x16a)](d['split'](':')[aW(0x13e)](0x0,0x5)[aW(0x1ed)](':'))):await this['kvsql']()['rename'](f,d)),this[aW(0x1f3)]['removeWorkItem'](this[aW(0x196)]);}async[P(0x179)](c,d){const aX=P;return await this[aX(0x182)]()[aX(0x1f6)](c,d,aX(0x1f0),aX(0x19b));}async[P(0x1e9)](c,d,f){const aY=P;if(!isNaN(d)&&d>0x0){const g=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':c});await this[aY(0x182)](f)['expire'](g,d);}}async[P(0x1ac)](c){const aZ=P,d={'appId':this[aZ(0x196)],'jobId':c},f=this[aZ(0x211)](key_1[aZ(0x20e)][aZ(0x142)],d);return this['kvsql']()[aZ(0x20f)](f,0x0,-0x1);}async['registerTimeHook'](d,f,g,j,k,l,m){const b0=P,p=this[b0(0x211)](key_1[b0(0x20e)][b0(0x181)],{'appId':this[b0(0x196)],'timeValue':k}),q=[j,g,f,l,d]['join'](key_1[b0(0x1a1)]),u=await this[b0(0x182)](m)['rpush'](p,q);if(m||0x1===u){const v=this[b0(0x211)](key_1['KeyType'][b0(0x181)],{'appId':this[b0(0x196)]});await this[b0(0x143)](v,k[b0(0x130)](),p,m);}}async[P(0x14b)](c){const b1=P,d=this['mintKey'](key_1[b1(0x20e)][b1(0x181)],{'appId':this['appId']});if(c=c||await this[b1(0x155)](d,0x0,Date[b1(0x135)]())){let [f,g]=this[b1(0x167)](c);const h=await this[b1(0x182)]()[b1(0x20a)](g);if(h){let [j,k,l,m,...p]=h['split'](key_1[b1(0x1a1)]);return b1(0x18f)===j?f=b1(0x18f):b1(0x1a9)===j?f=b1(0x1a9):'expire-child'===j&&(j=b1(0x1aa)),[c,p[b1(0x1ed)](key_1[b1(0x1a1)]),l,k,f];}return await this[b1(0x182)]()['zrem'](d,c),!0x0;}return!0x1;}[P(0x167)](c){const b2=P;return c[b2(0x1ce)](key_1[b2(0x1c8)]+b2(0x1fd))?[b2(0x136),c[b2(0x1a6)](key_1[b2(0x1c8)])[0x2]]:c[b2(0x1ce)](key_1['TYPSEP']+'EXPIRE')?['expire',c['split'](key_1[b2(0x1c8)])[0x2]]:['sleep',c];}async['interrupt'](d,f,g={}){const b3=P;try{if(await this[b3(0x212)](f,this[b3(0x196)])<=0x0)throw new Error(b3(0x209)+f+b3(0x1b9));const j=-0x3b9aca00,k=this[b3(0x211)](key_1['KeyType']['JOB_STATE'],{'appId':this[b3(0x196)],'jobId':f});if(await this[b3(0x182)]()[b3(0x183)](k,':',j)<=j)throw new Error(b3(0x209)+f+b3(0x1b9));if(!0x1!==g[b3(0x1ff)]){const m=b3(0x151),q=['$'+d],u=await this[b3(0x146)](q),v=await this['getSymbolValues']();this[b3(0x1d3)][b3(0x189)](u,v,{});const w=JSON[b3(0x1d5)]({'code':g[b3(0x176)]??enums_1[b3(0x1f8)],'message':g[b3(0x1bd)]??b3(0x1bc)+f+']\x20interrupted','stack':g[b3(0x16d)]??'','job_id':f}),x={[m]:j[b3(0x130)]()},z=this['serializer'][b3(0x1e1)](x,q),A=Object['keys'](z)[0x0];await this[b3(0x182)]()[b3(0x160)](k,{[A]:w});}}catch(B){if(!g[b3(0x198)])throw B;this[b3(0x164)]['debug'](b3(0x1f2),{'message':B['message']});}}async[P(0x1d8)](c){const b4=P,d=this[b4(0x211)](key_1['KeyType'][b4(0x132)],{'appId':this[b4(0x196)],'jobId':c});await this[b4(0x182)]()[b4(0x16a)](d);}async[P(0x1d2)](c='*',d=0x3e8,f=0x3e8,g='0'){const b5=P,h=this[b5(0x211)](key_1['KeyType'][b5(0x132)],{'appId':this['appId'],'jobId':c}),{cursor:j,keys:k}=await this[b5(0x182)]()['scan'](Number(g),d,h);return[j[b5(0x1c5)](),k];}async[P(0x13f)](f,g='*',j=0x3e8,q=0x3e8,v='0'){const b6=P,w={},x=this[b6(0x211)](key_1[b6(0x20e)]['JOB_STATE'],{'appId':this[b6(0x196)],'jobId':f});let z,A=null;if(g[b6(0x19e)](',')){const L=/\d[^-]+-/gi,M=g[b6(0x1b8)](L);A=','+(M?.[0x0]??''),z=b6(0x1cf);}else z='jmark';const B=parseInt(v,0xa)||0x0,C=this['kvsql']()[b6(0x1b4)](x,b6(0x1ef)),D=[x];let E=D[b6(0x20c)]+0x1;const F=b6(0x1b7)+C+b6(0x1e0),G=[];G[b6(0x140)](b6(0x13d)+E),D[b6(0x140)](z),E++,A&&(G[b6(0x140)](b6(0x172)+E),D[b6(0x140)]('%'+A+'%'),E++);const H=E,I=E+0x1;D[b6(0x140)](j,B),E+=0x2;const J='\x0a\x20\x20\x20\x20\x20\x20WITH\x20valid_job\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+F+'\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20a.field,\x20a.value\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+C+b6(0x1c1)+G[b6(0x1ed)](b6(0x148))+b6(0x1fb)+H+b6(0x1dc)+I+b6(0x18e),K=await this[b6(0x13a)][b6(0x200)](J,D);for(const N of K[b6(0x192)])w[N['field']]=N[b6(0x19c)];return[K[b6(0x192)]['length']<j?'0':String(B+K[b6(0x192)][b6(0x20c)]),w];}async[P(0x19f)](c){const b7=P,d=this[b7(0x211)](key_1[b7(0x20e)][b7(0x159)],{'appId':this[b7(0x196)]});if(c['guid'])return;const f=c['throttle'][b7(0x130)]();if(c[b7(0x16c)])await this[b7(0x182)]()[b7(0x160)](d,{[c[b7(0x16c)]]:f});else{const g=this['transact']();g['del'](d),g[b7(0x160)](d,{':':f}),await g[b7(0x171)]();}}async['getThrottleRates'](){const b8=P,c=this[b8(0x211)](key_1[b8(0x20e)][b8(0x159)],{'appId':this[b8(0x196)]});return await this[b8(0x182)]()[b8(0x1ba)](c)??{};}async[P(0x165)](c){const ba=P,d=(h,j)=>{const b9=b,k=j in h?Number(h[j]):0x0;return isNaN(k)?0x0:-0x1==k?enums_1[b9(0x158)]:Math[b9(0x14c)](Math[b9(0x163)](k,enums_1[b9(0x158)]),0x0);},f=await this[ba(0x149)](),g=d(f,':');return':'!==c&&c in f?d(f,c):g;}}function a(){const bb=['KVSQL','setSchemas','rows','get','0.0.0','general','appId','metadata/js','suppress','../..','hasOwnProperty','RIGHT','value','version','includes','setThrottleRate','setHookSignal','VALSEP','hGetAllResult','getAllSymbols','unpackage','deleteProcessedTaskQueue','split','namespace\x20not\x20set','forEach','child','expire','__esModule','getDependencies','registerAppVersion','APP','./kvsql','SYMKEYS','isArray','set','10WyoHRV','tableForKey','3632245vzSjpd','getSchemas','\x0a\x20\x20\x20\x20\x20\x20SELECT\x20id\x0a\x20\x20\x20\x20\x20\x20FROM\x20','match','\x20already\x20completed','hgetall','setApp','job\x20[','reason','HOOKS','collateSynthetic','Version\x20','_attributes\x20a\x0a\x20\x20\x20\x20\x20\x20JOIN\x20valid_job\x20j\x20ON\x20a.job_id\x20=\x20j.id\x0a\x20\x20\x20\x20\x20\x20WHERE\x20','73TbrvhD','../../../../modules/enums','create','toPrecision','setTransitions','KeyService','TYPSEP','JOB','2576103NAGiEw','../../../../modules/key','../../../../package.json','addSymbolValues','startsWith','hmark','16180813SWkgOV','hmget','findJobs','serializer','setSubscriptions','stringify','invalidateCache','writable','scrub','getHookRules','median',':cursor','\x20OFFSET\x20$','active','setSymbolValues','seedJobSymbols','\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20AND\x20(expired_at\x20IS\x20NULL\x20OR\x20expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20','package','zrange','sleepFor','getSchema','default','SYMVALS','Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention','JOB_STATS_INDEX','expireJob','getSubscriptions','SLOTS','./kvtables','join','deleteSymbolValues','hash','LEFT','deployed:','suppressed-interrupt','cache','releaseScoutRole','zadd','lmove','getRaw','HMSH_CODE_INTERRUPT','HOTMESH','shift','\x0a\x20\x20\x20\x20\x20\x20LIMIT\x20$','namespace','INTERRUPT','getActiveTaskQueue','throw','query','10378376gXKfgL','zrem','kvTables','activated:','entries','__createBinding','abbreviate','getApp','Job\x20','lpop','getSubscription','length','seedActivitySymbols','KeyType','lrange','zrangebyscore','mintKey','getStatus','getSettings','HMSH_SCOUT_INTERVAL_SECONDS','toString','setHookRules','JOB_STATE','SUBSCRIPTION_PATTERNS','settings\x20not\x20found','now','interrupt','../../cache','setSettings','GetStateError','pgClient','4KfdDna','hsetnx','a.type\x20=\x20$','slice','findJobFields','push','parse','JOB_DEPENDENTS','zAdd','call','127791yLaYKU','getSymbolKeys','hget','\x20AND\x20','getThrottleRates','setStatus','getNextTask','max','resolve','JOB_STATS_GENERAL','setnxex','6BnMfsp','metadata/err','?:?','then','getSymbols','zRangeByScore','deleteSymbols','reserveScoutRole','MAX_DELAY','THROTTLE_RATE','defineProperty','Cache','addTaskQueues','ACTIVITY','storeClient','map','hset','sort','KEYS','min','logger','getThrottleRate','formatISODate','resolveTaskKeyContext','getSymbolValues','WORK_ITEMS','del','SIGNALS','topic','stack','getTransitions','7700805BlZuhb','HMNS','exec','a.field\x20LIKE\x20$','28730qxzdZy','getJobStats','collate','code','isSuccessful','SUBSCRIPTIONS','processTaskQueue','\x20does\x20not\x20exist\x20for\x20app\x20','/output/metadata/as','\x20not\x20found','../../../../modules/utils','getSymKey','setWorkItem','seedSymbols','TIME_RANGE','kvsql','hincrbyfloat','MDATA_SYMBOLS','keys','transact','PostgresStoreService','setStats','resetSymbols','getQueryState','SerializerService','addSymbols','reserveSymbolRange','\x0a\x20\x20\x20\x20','delist'];a=function(){return bb;};return a();}exports[P(0x187)]=PostgresStoreService;
|
|
@@ -1,137 +0,0 @@
|
|
|
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
|
-
declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, TransactionProvider extends ProviderTransaction> extends StoreService<ClientProvider, TransactionProvider> {
|
|
16
|
-
commands: Record<string, string>;
|
|
17
|
-
abstract transact(): TransactionProvider;
|
|
18
|
-
abstract exec(...args: any[]): Promise<any>;
|
|
19
|
-
abstract setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
|
|
20
|
-
constructor(storeClient: ClientProvider);
|
|
21
|
-
init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
|
|
22
|
-
isSuccessful(result: any): boolean;
|
|
23
|
-
delistSignalKey(key: string, target: string): Promise<void>;
|
|
24
|
-
zAdd(key: string, score: number | string, value: string | number, redisMulti?: TransactionProvider): Promise<any>;
|
|
25
|
-
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
26
|
-
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
27
|
-
invalidateCache(): void;
|
|
28
|
-
/**
|
|
29
|
-
* At any given time only a single engine will
|
|
30
|
-
* check for and process work items in the
|
|
31
|
-
* time and signal task queues.
|
|
32
|
-
*/
|
|
33
|
-
reserveScoutRole(scoutType: 'time' | 'signal' | 'activate', delay?: number): Promise<boolean>;
|
|
34
|
-
releaseScoutRole(scoutType: 'time' | 'signal' | 'activate'): Promise<boolean>;
|
|
35
|
-
getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
|
|
36
|
-
setSettings(manifest: HotMeshSettings): Promise<any>;
|
|
37
|
-
reserveSymbolRange(target: string, size: number, type: 'JOB' | 'ACTIVITY', tryCount?: number): Promise<[number, number, Symbols]>;
|
|
38
|
-
getAllSymbols(): Promise<Symbols>;
|
|
39
|
-
getSymbols(activityId: string): Promise<Symbols>;
|
|
40
|
-
addSymbols(activityId: string, symbols: Symbols): Promise<boolean>;
|
|
41
|
-
seedSymbols(target: string, type: 'JOB' | 'ACTIVITY', startIndex: number): StringStringType;
|
|
42
|
-
seedJobSymbols(startIndex: number): StringStringType;
|
|
43
|
-
seedActivitySymbols(startIndex: number, activityId: string): StringStringType;
|
|
44
|
-
getSymbolValues(): Promise<Symbols>;
|
|
45
|
-
addSymbolValues(symvals: Symbols): Promise<boolean>;
|
|
46
|
-
getSymbolKeys(symbolNames: string[]): Promise<SymbolSets>;
|
|
47
|
-
getApp(id: string, refresh?: boolean): Promise<HotMeshApp>;
|
|
48
|
-
setApp(id: string, version: string): Promise<HotMeshApp>;
|
|
49
|
-
activateAppVersion(id: string, version: string): Promise<boolean>;
|
|
50
|
-
registerAppVersion(appId: string, version: string): Promise<any>;
|
|
51
|
-
setStats(jobKey: string, jobId: string, dateTime: string, stats: StatsType, appVersion: AppVID, transaction?: TransactionProvider): Promise<any>;
|
|
52
|
-
hGetAllResult(result: any): any;
|
|
53
|
-
getJobStats(jobKeys: string[]): Promise<JobStatsRange>;
|
|
54
|
-
getJobIds(indexKeys: string[], idRange: [number, number]): Promise<IdsData>;
|
|
55
|
-
setStatus(collationKeyStatus: number, jobId: string, appId: string, transaction?: TransactionProvider): Promise<any>;
|
|
56
|
-
getStatus(jobId: string, appId: string): Promise<number>;
|
|
57
|
-
setState({ ...state }: StringAnyType, status: number | null, jobId: string, symbolNames: string[], dIds: StringStringType, transaction?: TransactionProvider): Promise<string>;
|
|
58
|
-
/**
|
|
59
|
-
* Returns custom search fields and values.
|
|
60
|
-
* NOTE: The `fields` param should NOT prefix items with an underscore.
|
|
61
|
-
* NOTE: Literals are allowed if quoted.
|
|
62
|
-
*/
|
|
63
|
-
getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
|
|
64
|
-
getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
|
|
65
|
-
getRaw(jobId: string): Promise<StringStringType>;
|
|
66
|
-
/**
|
|
67
|
-
* collate is a generic method for incrementing a value in a hash
|
|
68
|
-
* in order to track their progress during processing.
|
|
69
|
-
*/
|
|
70
|
-
collate(jobId: string, activityId: string, amount: number, dIds: StringStringType, transaction?: TransactionProvider): Promise<number>;
|
|
71
|
-
/**
|
|
72
|
-
* Synthentic collation affects those activities in the graph
|
|
73
|
-
* that represent the synthetic DAG that was materialized during compilation;
|
|
74
|
-
* Synthetic collation distinguishes `re-entry due to failure` from
|
|
75
|
-
* `purposeful re-entry`.
|
|
76
|
-
*/
|
|
77
|
-
collateSynthetic(jobId: string, guid: string, amount: number, transaction?: TransactionProvider): Promise<number>;
|
|
78
|
-
setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
|
|
79
|
-
getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
|
|
80
|
-
getSchemas(appVersion: AppVID): Promise<Record<string, ActivityType>>;
|
|
81
|
-
setSchemas(schemas: Record<string, ActivityType>, appVersion: AppVID): Promise<any>;
|
|
82
|
-
setSubscriptions(subscriptions: Record<string, any>, appVersion: AppVID): Promise<boolean>;
|
|
83
|
-
getSubscriptions(appVersion: AppVID): Promise<Record<string, string>>;
|
|
84
|
-
getSubscription(topic: string, appVersion: AppVID): Promise<string | undefined>;
|
|
85
|
-
setTransitions(transitions: Record<string, any>, appVersion: AppVID): Promise<any>;
|
|
86
|
-
getTransitions(appVersion: AppVID): Promise<Transitions>;
|
|
87
|
-
setHookRules(hookRules: Record<string, HookRule[]>): Promise<any>;
|
|
88
|
-
getHookRules(): Promise<Record<string, HookRule[]>>;
|
|
89
|
-
setHookSignal(hook: HookSignal, transaction?: TransactionProvider): Promise<any>;
|
|
90
|
-
getHookSignal(topic: string, resolved: string): Promise<string | undefined>;
|
|
91
|
-
deleteHookSignal(topic: string, resolved: string): Promise<number | undefined>;
|
|
92
|
-
addTaskQueues(keys: string[]): Promise<void>;
|
|
93
|
-
getActiveTaskQueue(): Promise<string | null>;
|
|
94
|
-
deleteProcessedTaskQueue(workItemKey: string, key: string, processedKey: string, scrub?: boolean): Promise<void>;
|
|
95
|
-
processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
|
|
96
|
-
expireJob(jobId: string, inSeconds: number, redisMulti?: TransactionProvider): Promise<void>;
|
|
97
|
-
getDependencies(jobId: string): Promise<string[]>;
|
|
98
|
-
/**
|
|
99
|
-
* registers a hook activity to be awakened (uses ZSET to
|
|
100
|
-
* store the 'sleep group' and LIST to store the events
|
|
101
|
-
* for the given sleep group. Sleep groups are
|
|
102
|
-
* organized into 'n'-second blocks (LISTS))
|
|
103
|
-
*/
|
|
104
|
-
registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: TransactionProvider): Promise<void>;
|
|
105
|
-
getNextTask(listKey?: string): Promise<[
|
|
106
|
-
listKey: string,
|
|
107
|
-
jobId: string,
|
|
108
|
-
gId: string,
|
|
109
|
-
activityId: string,
|
|
110
|
-
type: WorkListTaskType
|
|
111
|
-
] | boolean>;
|
|
112
|
-
/**
|
|
113
|
-
* when processing time jobs, the target LIST ID returned
|
|
114
|
-
* from the ZSET query can be prefixed to denote what to
|
|
115
|
-
* do with the work list. (not everything is known in advance,
|
|
116
|
-
* so the ZSET key defines HOW to approach the work in the
|
|
117
|
-
* generic LIST (lists typically contain target job ids)
|
|
118
|
-
* @param {string} listKey - composite key
|
|
119
|
-
*/
|
|
120
|
-
resolveTaskKeyContext(listKey: string): [WorkListTaskType, string];
|
|
121
|
-
/**
|
|
122
|
-
* Interrupts a job and sets sets a job error (410), if 'throw'!=false.
|
|
123
|
-
* This method is called by the engine and not by an activity and is
|
|
124
|
-
* followed by a call to execute job completion/cleanup tasks
|
|
125
|
-
* associated with a job completion event.
|
|
126
|
-
*
|
|
127
|
-
* Todo: move most of this logic to the engine (too much logic for the store)
|
|
128
|
-
*/
|
|
129
|
-
interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
|
|
130
|
-
scrub(jobId: string): Promise<void>;
|
|
131
|
-
findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
|
|
132
|
-
findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, StringStringType]>;
|
|
133
|
-
setThrottleRate(options: ThrottleOptions): Promise<void>;
|
|
134
|
-
getThrottleRates(): Promise<StringStringType>;
|
|
135
|
-
getThrottleRate(topic: string): Promise<number>;
|
|
136
|
-
}
|
|
137
|
-
export { RedisStoreBase };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';const D=b;(function(c,d){const C=b,e=c();while(!![]){try{const f=parseInt(C(0x1d5))/0x1+-parseInt(C(0x120))/0x2*(-parseInt(C(0x166))/0x3)+-parseInt(C(0x191))/0x4+-parseInt(C(0x1c5))/0x5+parseInt(C(0x1c7))/0x6+-parseInt(C(0x1a0))/0x7*(parseInt(C(0x1b9))/0x8)+-parseInt(C(0x119))/0x9;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x3e276));var __createBinding=this&&this['__createBinding']||(Object[D(0x14e)]?function(c,d,f,g){const E=D;void 0x0===g&&(g=f);var h=Object[E(0x10e)](d,f);h&&!(E(0x131)in h?!d[E(0x12c)]:h[E(0x169)]||h[E(0x136)])||(h={'enumerable':!0x0,'get':function(){return d[f];}}),Object[E(0x13c)](c,g,h);}:function(c,d,f,g){void 0x0===g&&(g=f),c[g]=d[f];}),__setModuleDefault=this&&this[D(0x11d)]||(Object[D(0x14e)]?function(c,d){Object['defineProperty'](c,'default',{'enumerable':!0x0,'value':d});}:function(c,d){c['default']=d;}),__importStar=this&&this[D(0x17b)]||function(c){const F=D;if(c&&c[F(0x12c)])return c;var d={};if(null!=c){for(var f in c)'default'!==f&&Object[F(0x1c6)]['hasOwnProperty'][F(0x127)](c,f)&&__createBinding(d,c,f);}return __setModuleDefault(d,c),d;};function b(c,d){const e=a();return b=function(f,g){f=f-0x100;let h=e[f];return h;},b(c,d);}Object['defineProperty'](exports,'__esModule',{'value':!0x0}),exports[D(0x126)]=void 0x0;function a(){const aW=['then','startsWith','__setModuleDefault','deleteSymbols','TIME_RANGE','72456ddRlhU','registerAppVersion','now','getStatus','SET',']\x20interrupted','RedisStoreBase','call','message','../..','deleteHookSignal','deleteSymbolValues','__esModule','setSymbols','forEach','APP','stack','get','HMSH_CODE_INTERRUPT','metadata/js','appId','hmget','configurable','min','isSuccessful','setSettings','delist','seedSymbols','defineProperty','hincrby','rename','addSymbolValues','zrangebyscore','getJobStats','setSubscriptions','SIGNALS','SUBSCRIPTIONS','job\x20[','getJobIds','\x20already\x20completed','setState','SYMVALS','findJobFields','getRaw','length','getApp','create','getSchemas','setApp','getSymbolValues','code','reserveScoutRole','SerializerService','../../../../modules/enums','throttle','HMSH_SCOUT_INTERVAL_SECONDS','all','debug','del','zadd','TYPSEP','setStatus','setSchemas','guid','\x20does\x20not\x20exist\x20for\x20app\x20','Job\x20','hset','0.0.0','expireJob','GetStateError','18IWEuxJ','cache','HMSH_SIGNAL_EXPIRE','writable','MAX_DELAY','interrupt','HOTMESH','DEL','getTransitions','setThrottleRate','hgetall','setWorkItem','addTaskQueues','split','getThrottleRates','JOB_STATE',':cursor','KeyService','../../../serializer','version','KeyType','__importStar','getSymbols','MDATA_SYMBOLS','getSchema','zRangeByScore','hsetnx','serializer','SUBSCRIPTION_PATTERNS','active','collateSynthetic','SCAN','setTransitions','JOB_DEPENDENTS','exec','setHookSignal','general','VALSEP','getThrottleRate','getActiveTaskQueue','unpackage','getNextTask','throw','1373480TMdiFu','HOOKS','push','resolveTaskKeyContext','JOB','deleteProcessedTaskQueue','getHookRules','RIGHT','INTERRUPT','setStateNX','getSymKey','zAdd','/output/metadata/','WORK_ITEMS','true','28FexxPI','getState','entries','slice','sleep','setStats','mintKey','toString','topic','COUNT','hget','namespace','HSCAN','setnxex','isArray','commands','removeWorkItem','logger','../../../../package.json','HMNS','\x20not\x20found','deployed:','resetSymbols','JOB_STATS_INDEX','SCHEMAS','87832wBPaqX','setHookRules','sort','keys','abbreviate','getSubscriptions','parse','MATCH','getApps','versions/','median','zrem','219275HUmzXr','prototype','1314756RNRrNe','formatISODate','join','THROTTLE_RATE','reason','transact','SYMKEYS','max','seedActivitySymbols','getSubscription','getAllSymbols','processTaskQueue','getSymbolKeys','hGetAllResult','384576jaKolG','Cache','namespace\x20not\x20set','lrange','rpush','JOB_STATS_GENERAL','getSettings','settings\x20not\x20found','stringify','child','hincrbyfloat','JOB_STATS_MEDIAN','../../../../modules/utils','shift','?:?','reserveSymbolRange','registerTimeHook','releaseScoutRole','seedJobSymbols','expire','resolve','getQueryState','getOwnPropertyDescriptor','storeClient','/output/metadata/as','delistSignalKey','EXPIRE','activateAppVersion','../../../../modules/key','setSymbolValues','package','suppressed-interrupt','lmove','1218123CMsyGO','KEYS'];a=function(){return aW;};return a();}const errors_1=require('../../../../modules/errors'),key_1=require(D(0x114)),serializer_1=require(D(0x178)),utils_1=require(D(0x104)),enums_1=require(D(0x155)),cache_1=require('../../cache'),__1=require(D(0x129));class RedisStoreBase extends __1['StoreService']{constructor(c){const G=D;super(c),this[G(0x1af)]={},this[G(0x10f)]=c;}async['init'](c=key_1[D(0x1b3)],d,f){const H=D;this[H(0x1ab)]=c,this['appId']=d,this[H(0x1b1)]=f;const g=await this[H(0x1db)](!0x0);return this['cache']=new cache_1[(H(0x1d6))](d,g),this[H(0x181)]=new serializer_1[(H(0x154))](),await this[H(0x14d)](d),this['cache'][H(0x1c1)]();}['isSuccessful'](c){return c>0x0||'OK'===c||!0x0===c;}async[D(0x111)](c,d){const I=D;await this[I(0x10f)][this['commands'][I(0x15a)]](c+':'+d);}async[D(0x19c)](c,d,f,g){const J=D;return await(g||this['storeClient'])[this[J(0x1af)][J(0x15b)]](c,d,f);}async[D(0x17f)](c,d,f){const K=D,g=await this['storeClient'][this[K(0x1af)][K(0x140)]](c,d,f);return g?.[K(0x14c)]>0x0?g[0x0]:null;}['mintKey'](c,d){const L=D;if(!this[L(0x1ab)])throw new Error(L(0x1d7));return key_1[L(0x177)][L(0x1a6)](this[L(0x1ab)],c,d);}['invalidateCache'](){const M=D;this[M(0x167)]['invalidate']();}async[D(0x153)](c,d=enums_1[D(0x157)]){const N=D,f=this[N(0x1a6)](key_1['KeyType'][N(0x19e)],{'appId':this[N(0x134)],'scoutType':c}),g=await this[N(0x188)](N(0x124),f,c+':'+(0x0,utils_1[N(0x1c8)])(new Date()),'NX','EX',''+(d-0x1));return this[N(0x138)](g);}async[D(0x109)](c){const O=D,d=this['mintKey'](key_1[O(0x17a)][O(0x19e)],{'appId':this['appId'],'scoutType':c}),f=await this[O(0x188)](O(0x16d),d);return this[O(0x138)](f);}async[D(0x1db)](c=!0x1){const P=D;let d=this['cache']?.['getSettings']();if(d)return d;if(c){const f=(await Promise[P(0x10c)]()[P(0x11b)](()=>__importStar(require(P(0x1b2)))))[P(0x179)]||P(0x163);return d={'namespace':key_1['HMNS'],'version':f},await this[P(0x139)](d),d;}throw new Error(P(0x1dc));}async[D(0x139)](c){const Q=D,d=this[Q(0x1a6)](key_1[Q(0x17a)][Q(0x16c)],{});return await this[Q(0x10f)][this[Q(0x1af)][Q(0x162)]](d,c);}async['reserveSymbolRange'](d,f,g,h=0x1){const R=D,j=this[R(0x1a6)](key_1[R(0x17a)][R(0x1cd)],{'appId':this[R(0x134)]}),k=this[R(0x1a6)](key_1['KeyType'][R(0x1cd)],{'activityId':d,'appId':this[R(0x134)]});if(await this['storeClient'][this[R(0x1af)][R(0x180)]](j,d,R(0x106))){const l=await this['storeClient'][this[R(0x1af)][R(0x13d)]](j,R(0x176),f),m=l-f,p=m+':'+(l-0x1);await this[R(0x10f)][this[R(0x1af)][R(0x162)]](j,d,p);const q=this[R(0x13b)](d,g,m);return await this[R(0x10f)][this['commands'][R(0x162)]](k,q),[m+serializer_1[R(0x17d)]['SLOTS'],l-0x1,{}];}{const u=await this[R(0x10f)][this[R(0x1af)]['hget']](j,d),[v]=u['split'](':');if('?'===v){if(await(0x0,utils_1['sleepFor'])(0x3e8*h),h<0x5)return this[R(0x107)](d,f,g,h+0x1);throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}{const w=parseInt(v,0xa),x=await this[R(0x10f)][this[R(0x1af)]['hgetall']](k),y=Object[R(0x1bc)](x)[R(0x14c)];return[w+serializer_1[R(0x17d)]['SLOTS']+y,Number(w+f-0x1),x];}}}async[D(0x1d1)](){const S=D,c=this[S(0x1a6)](key_1[S(0x17a)][S(0x1cd)],{'appId':this[S(0x134)]}),d=await this[S(0x10f)][this[S(0x1af)][S(0x170)]](c),f=Object[S(0x1bc)](d)[S(0x1bb)]();delete f[S(0x176)];const g=this['transact']();for(const k of f){const l=this[S(0x1a6)](key_1['KeyType']['SYMKEYS'],{'activityId':k,'appId':this['appId']});g[this['commands'][S(0x170)]](l);}const h=await g[S(0x188)](),j={};return h['forEach']((m,o)=>{const T=S;if(m){let p;p=Array['isArray'](m)&&0x2===m['length']?m[0x1]:m;for(const [q,r]of Object[T(0x1a2)](p))j[r]=q[T(0x11c)](f[o])?q:f[o]+'/'+q;}}),j;}async['getSymbols'](c){const U=D;let d=this[U(0x167)]['getSymbols'](this[U(0x134)],c);if(d)return d;{const f={'activityId':c,'appId':this[U(0x134)]},g=this['mintKey'](key_1[U(0x17a)]['SYMKEYS'],f);return d=await this[U(0x10f)][this[U(0x1af)]['hgetall']](g),this[U(0x167)][U(0x12d)](this[U(0x134)],c,d),d;}}async['addSymbols'](c,d){const V=D;if(!d||!Object[V(0x1bc)](d)[V(0x14c)])return!0x1;const f={'activityId':c,'appId':this[V(0x134)]},g=this[V(0x1a6)](key_1[V(0x17a)][V(0x1cd)],f),h=await this[V(0x10f)][this['commands'][V(0x162)]](g,d);return this[V(0x167)][V(0x11e)](this[V(0x134)],c),h>0x0;}[D(0x13b)](c,d,f){const W=D;return W(0x195)===d?this['seedJobSymbols'](f):this[W(0x1cf)](f,c);}[D(0x10a)](c){const X=D,d={};return serializer_1[X(0x17d)][X(0x195)][X(0x11a)][X(0x12e)](f=>{const Y=X;d['metadata/'+f]=(0x0,utils_1[Y(0x19b)])(c),c++;}),d;}['seedActivitySymbols'](c,d){const Z=D,f={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS'][Z(0x12e)](g=>{const a0=Z;f[d+a0(0x19d)+g]=(0x0,utils_1[a0(0x19b)])(c),c++;}),f;}async[D(0x151)](){const a1=D;let c=this[a1(0x167)][a1(0x151)](this['appId']);if(c)return c;{const d=this['mintKey'](key_1[a1(0x17a)][a1(0x149)],{'appId':this['appId']});return c=await this[a1(0x10f)][this[a1(0x1af)][a1(0x170)]](d),this[a1(0x167)][a1(0x115)](this[a1(0x134)],c),c;}}async[D(0x13f)](c){const a2=D;if(!c||!Object[a2(0x1bc)](c)[a2(0x14c)])return!0x1;const d=this[a2(0x1a6)](key_1[a2(0x17a)]['SYMVALS'],{'appId':this[a2(0x134)]}),f=await this[a2(0x10f)][this[a2(0x1af)][a2(0x162)]](d,c);return this[a2(0x167)][a2(0x12b)](this['appId']),this[a2(0x138)](f);}async[D(0x1d3)](c){const a3=D,d=[];for(const h of c)d[a3(0x193)](this[a3(0x17c)](h));const f=await Promise[a3(0x158)](d),g={};for(const j of c)g[j]=f[a3(0x105)]();return g;}async[D(0x14d)](c,d=!0x1){const a4=D;let f=this['cache']['getApp'](c);if(d||!(f&&Object['keys'](f)['length']>0x0)){const g={'appId':c},h=this[a4(0x1a6)](key_1[a4(0x17a)][a4(0x12f)],g),j=await this[a4(0x10f)][this[a4(0x1af)][a4(0x170)]](h);if(!j)return null;f={};for(const k in j)try{f[k]=a4(0x183)===k?a4(0x19f)===j[k]:j[k];}catch(l){f[k]=j[k];}this[a4(0x167)][a4(0x150)](c,f);}return f;}async[D(0x150)](c,d){const a5=D,f={'appId':c},g=this[a5(0x1a6)](key_1[a5(0x17a)][a5(0x12f)],f),h=a5(0x1c2)+d,j={'id':c,'version':d,[h]:a5(0x1b5)+(0x0,utils_1[a5(0x1c8)])(new Date())};return await this['storeClient'][this[a5(0x1af)][a5(0x162)]](g,j),this[a5(0x167)]['setApp'](c,j),j;}async[D(0x113)](c,d){const a6=D,f={'appId':c},g=this[a6(0x1a6)](key_1[a6(0x17a)][a6(0x12f)],f),h='versions/'+d,j=await this['getApp'](c,!0x0);if(j&&j[h]){const k={'id':c,'version':d[a6(0x1a7)](),[h]:'activated:'+(0x0,utils_1[a6(0x1c8)])(new Date()),'active':!0x0};return Object[a6(0x1a2)](k)[a6(0x12e)](([l,m])=>{const a7=a6;k[l]=m[a7(0x1a7)]();}),await this[a6(0x10f)][this[a6(0x1af)][a6(0x162)]](g,k),!0x0;}throw new Error('Version\x20'+d+a6(0x160)+c);}async[D(0x121)](c,d){const a8=D,f={'appId':c},g=this[a8(0x1a6)](key_1[a8(0x17a)][a8(0x12f)],f),h={'id':c,'version':d[a8(0x1a7)](),[a8(0x1c2)+d]:(0x0,utils_1[a8(0x1c8)])(new Date())};return await this[a8(0x10f)][this[a8(0x1af)][a8(0x162)]](g,h);}async[D(0x1a5)](c,d,f,g,h,j){const a9=D,k={'appId':h['id'],'jobId':d,'jobKey':c,'dateTime':f},l=j||this[a9(0x1cc)]();if(g['general'][a9(0x14c)]){const m=this[a9(0x1a6)](key_1[a9(0x17a)][a9(0x1da)],k);for(const {target:p,value:q}of g[a9(0x18a)])l[this['commands']['hincrbyfloat']](m,p,q);}for(const {target:u,value:v}of g['index']){const w={...k,'facet':u},x=this['mintKey'](key_1[a9(0x17a)][a9(0x1b7)],w);l[this[a9(0x1af)][a9(0x1d9)]](x,v[a9(0x1a7)]());}for(const {target:y,value:z}of g[a9(0x1c3)]){const A={...k,'facet':y},B=this['mintKey'](key_1[a9(0x17a)][a9(0x103)],A);this[a9(0x19c)](B,z,y,l);}if(!j)return await l['exec']();}['hGetAllResult'](c){return c;}async[D(0x141)](c){const aa=D,d=this[aa(0x1cc)]();for(const h of c)d[this[aa(0x1af)][aa(0x170)]](h);const f=await d['exec'](),g={};for(const [j,k]of f['entries']()){const l=c[j],m=this[aa(0x1d4)](k);if(m&&Object['keys'](m)[aa(0x14c)]>0x0){const o={...m};for(const [p,q]of Object[aa(0x1a2)](o))o[p]=Number(q);g[l]=o;}else g[l]={};}return g;}async[D(0x146)](c,d){const ab=D,f=this['transact']();for(const j of c)f[this[ab(0x1af)][ab(0x1d8)]](j,d[0x0],d[0x1]);const g=await f[ab(0x188)](),h={};for(const [k,l]of g[ab(0x1a2)]()){const m=c[k],o=l[0x1]||l;o&&o[ab(0x14c)]>0x0?h[m]=o:h[m]=[];}return h;}async[D(0x15d)](c,d,f,g){const ac=D,h=this[ac(0x1a6)](key_1['KeyType'][ac(0x175)],{'appId':f,'jobId':d});return await(g||this[ac(0x10f)])[this['commands'][ac(0x102)]](h,':',c);}async[D(0x123)](c,d){const ad=D,f=this[ad(0x1a6)](key_1[ad(0x17a)][ad(0x175)],{'appId':d,'jobId':c}),g=await this[ad(0x10f)][this[ad(0x1af)][ad(0x1aa)]](f,':');if(null===g)throw new Error(ad(0x161)+c+ad(0x1b4));return Number(g);}async[D(0x148)]({...d},f,g,j,k,l){const ae=D;delete d[ae(0x133)];const m=this['mintKey'](key_1[ae(0x17a)][ae(0x175)],{'appId':this[ae(0x134)],'jobId':g}),p=await this[ae(0x1d3)](j),q=await this['getSymbolValues']();this['serializer'][ae(0x1b6)](p,q,k);const u=this['serializer'][ae(0x116)](d,j);return null!==f?u[':']=f[ae(0x1a7)]():delete u[':'],await(l||this['storeClient'])[this[ae(0x1af)][ae(0x162)]](m,u),g;}async[D(0x10d)](c,d){const af=D,f=this['mintKey'](key_1['KeyType'][af(0x175)],{'appId':this[af(0x134)],'jobId':c}),g=d['map'](k=>k[af(0x11c)]('\x22')?k[af(0x1a3)](0x1,-0x1):'_'+k),h=await this[af(0x10f)][this[af(0x1af)]['hmget']](f,g),j={};return d[af(0x12e)]((k,l)=>{const ag=af;k[ag(0x11c)]('\x22')&&(k=k['slice'](0x1,-0x1)),j[k]=h[l];}),j;}async[D(0x1a1)](d,f,g){const ah=D,j=this[ah(0x1a6)](key_1['KeyType'][ah(0x175)],{'appId':this[ah(0x134)],'jobId':d}),k=Object[ah(0x1bc)](f),l=await this[ah(0x1d3)](k);this[ah(0x181)][ah(0x1b6)](l,{},g);const m=this[ah(0x181)][ah(0x1bd)](f,k,[':']),p=await this[ah(0x10f)][this[ah(0x1af)][ah(0x135)]](j,m),q={};let u=!0x1;if(m[ah(0x12e)]((v,w)=>{p[w]&&(u=!0x0),q[v]=p[w];}),u){const v=await this['getSymbolValues']();this[ah(0x181)][ah(0x1b6)](l,v,g);const w=this[ah(0x181)][ah(0x18e)](q,k);let x=0x0;return w[':']&&(x=Number(w[':']),w[ah(0x133)]=x,delete w[':']),[w,x];}throw new errors_1[(ah(0x165))](d);}async[D(0x14b)](c){const ai=D,d=this[ai(0x1a6)](key_1[ai(0x17a)][ai(0x175)],{'appId':this[ai(0x134)],'jobId':c}),f=await this['storeClient'][this['commands'][ai(0x170)]](d);if(!f)throw new errors_1[(ai(0x165))](c);return f;}async['collate'](d,f,g,j,k){const aj=D,m=this['mintKey'](key_1[aj(0x17a)][aj(0x175)],{'appId':this[aj(0x134)],'jobId':d}),q=f+aj(0x110),u=[f],v=await this[aj(0x1d3)](u),w=await this[aj(0x151)]();this[aj(0x181)][aj(0x1b6)](v,w,j);const x={[q]:g[aj(0x1a7)]()},z=this[aj(0x181)][aj(0x116)](x,u),A=Object[aj(0x1bc)](z)[0x0];return await(k||this[aj(0x10f)])[this[aj(0x1af)][aj(0x102)]](m,A,g);}async[D(0x184)](c,d,f,g){const ak=D,h=this[ak(0x1a6)](key_1[ak(0x17a)][ak(0x175)],{'appId':this['appId'],'jobId':c});return await(g||this[ak(0x10f)])[this[ak(0x1af)][ak(0x102)]](h,d,f[ak(0x1a7)]());}async[D(0x19a)](c,d,f){const al=D,g=this[al(0x1a6)](key_1[al(0x17a)][al(0x175)],{'appId':d,'jobId':c}),h=await this['storeClient'][this['commands'][al(0x180)]](g,':',f?.[al(0x1a7)]()??'1');return this[al(0x138)](h);}async['getSchema'](c,d){const am=D,f=this[am(0x167)][am(0x17e)](d['id'],d[am(0x179)],c);if(f)return f;return(await this[am(0x14f)](d))[c];}async[D(0x14f)](c){const an=D;let d=this[an(0x167)]['getSchemas'](c['id'],c['version']);if(d&&Object['keys'](d)[an(0x14c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[an(0x179)]},g=this[an(0x1a6)](key_1[an(0x17a)][an(0x1b8)],f);d={};const h=await this[an(0x10f)][this[an(0x1af)][an(0x170)]](g);return Object[an(0x1a2)](h)['forEach'](([j,k])=>{const ao=an;d[j]=JSON[ao(0x1bf)](k);}),this['cache'][an(0x15e)](c['id'],c[an(0x179)],d),d;}}async['setSchemas'](c,d){const ap=D,f={'appId':d['id'],'appVersion':d['version']},g=this[ap(0x1a6)](key_1[ap(0x17a)][ap(0x1b8)],f),h={...c};Object[ap(0x1a2)](h)[ap(0x12e)](([k,l])=>{const aq=ap;h[k]=JSON[aq(0x100)](l);});const j=await this[ap(0x10f)][this[ap(0x1af)][ap(0x162)]](g,h);return this[ap(0x167)][ap(0x15e)](d['id'],d[ap(0x179)],c),j;}async[D(0x142)](c,d){const ar=D,f={'appId':d['id'],'appVersion':d['version']},g=this[ar(0x1a6)](key_1[ar(0x17a)]['SUBSCRIPTIONS'],f),h={...c};Object[ar(0x1a2)](h)[ar(0x12e)](([k,l])=>{h[k]=JSON['stringify'](l);});const j=await this[ar(0x10f)][this[ar(0x1af)][ar(0x162)]](g,h);return this[ar(0x167)]['setSubscriptions'](d['id'],d[ar(0x179)],c),this[ar(0x138)](j);}async[D(0x1be)](c){const as=D;let d=this['cache'][as(0x1be)](c['id'],c[as(0x179)]);if(d&&Object[as(0x1bc)](d)[as(0x14c)]>0x0)return d;{const f={'appId':c['id'],'appVersion':c[as(0x179)]},g=this[as(0x1a6)](key_1[as(0x17a)][as(0x144)],f);return d=await this['storeClient'][this[as(0x1af)][as(0x170)]](g)||{},Object[as(0x1a2)](d)[as(0x12e)](([h,j])=>{d[h]=JSON['parse'](j);}),this[as(0x167)]['setSubscriptions'](c['id'],c[as(0x179)],d),d;}}async[D(0x1d0)](c,d){const at=D;return(await this[at(0x1be)](d))[c];}async[D(0x186)](c,d){const au=D,f={'appId':d['id'],'appVersion':d[au(0x179)]},g=this[au(0x1a6)](key_1['KeyType'][au(0x182)],f),h={...c};if(Object[au(0x1a2)](h)[au(0x12e)](([j,k])=>{const av=au;h[j]=JSON[av(0x100)](k);}),0x0!==Object[au(0x1bc)](h)[au(0x14c)]){const j=await this[au(0x10f)][this[au(0x1af)][au(0x162)]](g,h);return this[au(0x167)][au(0x186)](d['id'],d[au(0x179)],c),j;}}async['getTransitions'](c){const aw=D;let d=this[aw(0x167)][aw(0x16e)](c['id'],c['version']);if(d&&Object[aw(0x1bc)](d)['length']>0x0)return d;{const f={'appId':c['id'],'appVersion':c['version']},g=this['mintKey'](key_1[aw(0x17a)][aw(0x182)],f);d={};const h=await this[aw(0x10f)][this['commands']['hgetall']](g);return Object[aw(0x1a2)](h)[aw(0x12e)](([j,k])=>{const ax=aw;d[j]=JSON[ax(0x1bf)](k);}),this[aw(0x167)][aw(0x186)](c['id'],c[aw(0x179)],d),d;}}async[D(0x1ba)](c){const ay=D,d=this['mintKey'](key_1[ay(0x17a)][ay(0x192)],{'appId':this[ay(0x134)]}),f={};if(Object[ay(0x1a2)](c)[ay(0x12e)](([g,h])=>{const az=ay;f[g[az(0x1a7)]()]=JSON[az(0x100)](h);}),0x0!==Object[ay(0x1bc)](f)[ay(0x14c)]){const g=await this[ay(0x10f)][this['commands'][ay(0x162)]](d,f);return this[ay(0x167)][ay(0x1ba)](this[ay(0x134)],c),g;}}async[D(0x197)](){const aA=D;let c=this['cache'][aA(0x197)](this[aA(0x134)]);if(c&&Object[aA(0x1bc)](c)['length']>0x0)return c;{const d=this[aA(0x1a6)](key_1[aA(0x17a)]['HOOKS'],{'appId':this[aA(0x134)]}),f=await this['storeClient'][this['commands']['hgetall']](d);return c={},Object[aA(0x1a2)](f)[aA(0x12e)](([g,h])=>{const aB=aA;c[g]=JSON[aB(0x1bf)](h);}),this['cache'][aA(0x1ba)](this[aA(0x134)],c),c;}}async[D(0x189)](c,d){const aC=D,f=this[aC(0x1a6)](key_1[aC(0x17a)][aC(0x143)],{'appId':this[aC(0x134)]}),{topic:g,resolved:h,jobId:j}=c,k=g+':'+h;await this[aC(0x1ad)](f+':'+k,j,Math[aC(0x1ce)](c['expire'],enums_1[aC(0x168)]));}async['getHookSignal'](c,d){const aD=D,f=this[aD(0x1a6)](key_1[aD(0x17a)][aD(0x143)],{'appId':this[aD(0x134)]}),g=await this[aD(0x10f)][this['commands'][aD(0x131)]](f+':'+c+':'+d);return g?g[aD(0x1a7)]():void 0x0;}async[D(0x12a)](c,d){const aE=D,f=this[aE(0x1a6)](key_1[aE(0x17a)][aE(0x143)],{'appId':this[aE(0x134)]}),g=await this[aE(0x10f)][this[aE(0x1af)][aE(0x15a)]](f+':'+c+':'+d);return g?Number(g):void 0x0;}async[D(0x172)](c){const aF=D,d=this[aF(0x1cc)](),f=this[aF(0x1a6)](key_1[aF(0x17a)][aF(0x19e)],{'appId':this[aF(0x134)]});for(const g of c)d[this[aF(0x1af)][aF(0x15b)]](f,{'score':Date['now']()[aF(0x1a7)](),'value':g},{'NX':!0x0});await d[aF(0x188)]();}async['getActiveTaskQueue'](){const aG=D;let c=this[aG(0x167)][aG(0x18d)](this[aG(0x134)])||null;if(!c){const d=this[aG(0x1a6)](key_1[aG(0x17a)][aG(0x19e)],{'appId':this['appId']}),f=await this['storeClient'][this['commands']['zrange']](d,0x0,0x0);c=f[aG(0x14c)]>0x0?f[0x0]:null,c&&this[aG(0x167)][aG(0x171)](this['appId'],c);}return c;}async[D(0x196)](c,d,f,g=!0x1){const aH=D,h=this[aH(0x1a6)](key_1['KeyType']['WORK_ITEMS'],{'appId':this[aH(0x134)]});await this[aH(0x10f)][this[aH(0x1af)]['zrem']](h,c)&&(g?(this['storeClient'][this[aH(0x1af)]['expire']](f,0x0),this[aH(0x10f)][this[aH(0x1af)][aH(0x10b)]](d[aH(0x173)](':')['slice'](0x0,0x5)[aH(0x1c9)](':'),0x0)):await this['storeClient'][this[aH(0x1af)][aH(0x13e)]](f,d)),this['cache'][aH(0x1b0)](this['appId']);}async[D(0x1d2)](c,d){const aI=D;return await this[aI(0x10f)][this[aI(0x1af)][aI(0x118)]](c,d,'LEFT',aI(0x198));}async[D(0x164)](c,d,f){const aJ=D;if(!isNaN(d)&&d>0x0){const g=this[aJ(0x1a6)](key_1[aJ(0x17a)][aJ(0x175)],{'appId':this['appId'],'jobId':c});await(f||this[aJ(0x10f)])[this[aJ(0x1af)]['expire']](g,d);}}async['getDependencies'](c){const aK=D,d={'appId':this[aK(0x134)],'jobId':c},f=this[aK(0x1a6)](key_1[aK(0x17a)][aK(0x187)],d);return this['storeClient'][this[aK(0x1af)]['lrange']](f,0x0,-0x1);}async[D(0x108)](d,f,g,j,k,l,m){const aL=D,p=this['mintKey'](key_1[aL(0x17a)]['TIME_RANGE'],{'appId':this[aL(0x134)],'timeValue':k}),q=[j,g,f,l,d][aL(0x1c9)](key_1[aL(0x18b)]),u=await(m||this[aL(0x10f)])[this['commands'][aL(0x1d9)]](p,q);if(m||0x1===u){const v=this['mintKey'](key_1['KeyType'][aL(0x11f)],{'appId':this['appId']});await this[aL(0x19c)](v,k[aL(0x1a7)](),p,m);}}async[D(0x18f)](c){const aM=D,d=this['mintKey'](key_1[aM(0x17a)][aM(0x11f)],{'appId':this[aM(0x134)]});if(c=c||await this[aM(0x17f)](d,0x0,Date[aM(0x122)]())){let [f,g]=this[aM(0x194)](c);const h=await this[aM(0x10f)][this[aM(0x1af)]['lpop']](g);if(h){let [j,k,l,m,...p]=h[aM(0x173)](key_1[aM(0x18b)]);return aM(0x13a)===j?f=aM(0x13a):aM(0x101)===j?f=aM(0x101):'expire-child'===j&&(j='expire'),[c,p[aM(0x1c9)](key_1[aM(0x18b)]),l,k,f];}return await this['storeClient'][this[aM(0x1af)][aM(0x1c4)]](d,c),!0x0;}return!0x1;}['resolveTaskKeyContext'](c){const aN=D;return c['startsWith'](key_1[aN(0x15c)]+aN(0x199))?[aN(0x16b),c[aN(0x173)](key_1[aN(0x15c)])[0x2]]:c[aN(0x11c)](key_1['TYPSEP']+aN(0x112))?[aN(0x10b),c[aN(0x173)](key_1[aN(0x15c)])[0x2]]:[aN(0x1a4),c];}async['interrupt'](d,f,g={}){const aO=D;try{if(await this[aO(0x123)](f,this['appId'])<=0x0)throw new Error(aO(0x161)+f+'\x20already\x20completed');const j=-0x3b9aca00,k=this[aO(0x1a6)](key_1['KeyType'][aO(0x175)],{'appId':this[aO(0x134)],'jobId':f});if(await this[aO(0x10f)][this['commands'][aO(0x102)]](k,':',j)<=j)throw new Error(aO(0x161)+f+aO(0x147));if(!0x1!==g[aO(0x190)]){const m='metadata/err',q=['$'+d],u=await this[aO(0x1d3)](q),v=await this[aO(0x151)]();this[aO(0x181)][aO(0x1b6)](u,v,{});const w=JSON['stringify']({'code':g[aO(0x152)]??enums_1[aO(0x132)],'message':g[aO(0x1cb)]??aO(0x145)+f+aO(0x125),'stack':g[aO(0x130)]??'','job_id':f}),x={[m]:j[aO(0x1a7)]()},z=this['serializer'][aO(0x116)](x,q),A=Object['keys'](z)[0x0];await this[aO(0x10f)][this['commands'][aO(0x162)]](k,A,w);}}catch(B){if(!g['suppress'])throw B;this[aO(0x1b1)][aO(0x159)](aO(0x117),{'message':B[aO(0x128)]});}}async['scrub'](c){const aP=D,d=this['mintKey'](key_1[aP(0x17a)][aP(0x175)],{'appId':this[aP(0x134)],'jobId':c});await this[aP(0x10f)][this['commands']['del']](d);}async['findJobs'](c='*',d=0x3e8,f=0x3e8,g='0'){const aQ=D,h=this['mintKey'](key_1[aQ(0x17a)][aQ(0x175)],{'appId':this['appId'],'jobId':c});let j;const k=[];do{const l=await this[aQ(0x188)](aQ(0x185),g,aQ(0x1c0),h,'COUNT',f[aQ(0x1a7)]());if(!Array['isArray'](l))break;[g,j]=l;for(const m of[...j])k[aQ(0x193)](m);if(k[aQ(0x14c)]>=d)break;}while('0'!==g);return[g,k];}async[D(0x14a)](d,f='*',g=0x3e8,h=0x3e8,j='0'){const aR=D;let k=[];const l={},m=this['mintKey'](key_1[aR(0x17a)][aR(0x175)],{'appId':this[aR(0x134)],'jobId':d});let p=0x0;do{const q=await this[aR(0x188)](aR(0x1ac),m,j,aR(0x1c0),f,aR(0x1a9),h[aR(0x1a7)]());if(!Array[aR(0x1ae)](q))break;[j,k]=q;for(let u=0x0;u<k['length'];u+=0x2)p++,l[k[u]]=k[u+0x1];}while('0'!==j&&p<g);return[j,l];}async[D(0x16f)](c){const aS=D,d=this[aS(0x1a6)](key_1[aS(0x17a)]['THROTTLE_RATE'],{'appId':this['appId']});if(c[aS(0x15f)])return;const f=c[aS(0x156)][aS(0x1a7)]();if(c[aS(0x1a8)])await this[aS(0x10f)][this[aS(0x1af)][aS(0x162)]](d,{[c[aS(0x1a8)]]:f});else{const g=this[aS(0x1cc)]();g[this[aS(0x1af)][aS(0x15a)]](d),g[this[aS(0x1af)]['hset']](d,{':':f}),await g[aS(0x188)]();}}async[D(0x174)](){const aT=D,c=this['mintKey'](key_1[aT(0x17a)][aT(0x1ca)],{'appId':this['appId']});return await this[aT(0x10f)][this[aT(0x1af)][aT(0x170)]](c)??{};}async[D(0x18c)](c){const aV=D,d=(h,j)=>{const aU=b,k=j in h?Number(h[j]):0x0;return isNaN(k)?0x0:-0x1==k?enums_1[aU(0x16a)]:Math[aU(0x1ce)](Math[aU(0x137)](k,enums_1[aU(0x16a)]),0x0);},f=await this[aV(0x174)](),g=d(f,':');return':'!==c&&c in f?d(f,c):g;}}exports[D(0x126)]=RedisStoreBase;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { IORedisClientType as RedisClientType, IORedisMultiType as RedisMultiType } from '../../../../types/redis';
|
|
2
|
-
import { StoreInitializable } from '../store-initializable';
|
|
3
|
-
import { RedisStoreBase } from './_base';
|
|
4
|
-
declare class IORedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
|
|
5
|
-
constructor(storeClient: RedisClientType);
|
|
6
|
-
/**
|
|
7
|
-
* When in cluster mode, the transact wrapper only
|
|
8
|
-
* sends commands to the same node/shard if they share a key.
|
|
9
|
-
* All other commands are sent simultaneouslyusing Promise.all
|
|
10
|
-
* and are then collated. this is effectiely a wrapper for
|
|
11
|
-
* `multi` but is closer to `pipeline` in terms of usage when
|
|
12
|
-
* promises are used.
|
|
13
|
-
*/
|
|
14
|
-
transact(): RedisMultiType;
|
|
15
|
-
exec(...args: any[]): Promise<string | string[] | string[][]>;
|
|
16
|
-
setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
|
|
17
|
-
hGetAllResult(result: any): any;
|
|
18
|
-
addTaskQueues(keys: string[]): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export { IORedisStoreService };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';function b(c,d){const e=a();return b=function(f,g){f=f-0x1d0;let h=e[f];return h;},b(c,d);}const q=b;function a(){const y=['length','all','xadd','expire','hincrbyfloat','hsetnx','16qedZar','2965752PpZTmY','lrange','defineProperty','27nSssLe','1026BlQRvm','__esModule','xlen','lpop','sendCommand','4527465FOBpKS','./_base','RedisStoreBase','storeClient','2837070YThMDS','setnxex','WORK_ITEMS','hmget','62300KrhMyH','xack','forEach','exec','hGetAllResult','1572633DEZNmC','hget','map','hincrby','command','scan','set','args','zadd','xdel','zrange','hdel','xgroup','hgetall','string','1957490YAHgmi','addTaskQueues','1571540CApFVX','commands','hscan','IORedisStoreService','zrangebyscore','del','setnx','hset','xpending','isArray','multi'];a=function(){return y;};return a();}(function(c,d){const p=b,e=c();while(!![]){try{const f=parseInt(p(0x1f7))/0x1+parseInt(p(0x1ee))/0x2+-parseInt(p(0x1ea))/0x3+parseInt(p(0x1e0))/0x4*(-parseInt(p(0x208))/0x5)+-parseInt(p(0x1e5))/0x6*(-parseInt(p(0x1f2))/0x7)+-parseInt(p(0x1e1))/0x8+-parseInt(p(0x1e4))/0x9*(parseInt(p(0x206))/0xa);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xc08eb));Object[q(0x1e3)](exports,q(0x1e6),{'value':!0x0}),exports['IORedisStoreService']=void 0x0;const key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),_base_1=require(q(0x1eb));class IORedisStoreService extends _base_1[q(0x1ec)]{constructor(c){const r=q;super(c),this[r(0x1d0)]={'get':'get','set':r(0x1fd),'setnx':r(0x1d5),'del':r(0x1d4),'expire':r(0x1dd),'hset':r(0x1d6),'hscan':r(0x1d1),'hsetnx':r(0x1df),'hincrby':r(0x1fa),'hdel':r(0x202),'hget':'hget','hmget':r(0x1f1),'hgetall':r(0x204),'hincrbyfloat':r(0x1de),'zrank':'zrank','zrange':r(0x201),'zrangebyscore_withscores':r(0x1d3),'zrangebyscore':'zrangebyscore','zrem':'zrem','zadd':r(0x1ff),'lmove':'lmove','lpop':r(0x1e8),'lrange':r(0x1e2),'rename':'rename','rpush':'rpush','scan':r(0x1fc),'xack':r(0x1f3),'xdel':r(0x200)};}['transact'](){const s=q,c=this;if(enums_1['HMSH_IS_CLUSTER']){const d=[],f=(h,i)=>(d['push']({'command':h,'args':i}),g),g={'sendCommand':h=>c[s(0x1ed)][s(0x1e9)](h),async 'exec'(){const t=s;if(0x0===d[t(0x1da)])return[];if(d['every'](h=>h[t(0x1fe)][0x0]===d[0x0][t(0x1fe)][0x0])){const h=c[t(0x1ed)][t(0x1d9)]();return d[t(0x1f4)](i=>h[i[t(0x1fb)]](...i[t(0x1fe)])),(await h[t(0x1f5)]())[t(0x1f9)](i=>i);}return Promise[t(0x1db)](d[t(0x1f9)](i=>c[t(0x1ed)][i[t(0x1fb)]](...i['args'])));},'xadd':(h,i,j,k)=>f(s(0x1dc),[h,i,j,k]),'xack':(h,i,j)=>f(s(0x1f3),[h,i,j]),'xdel':(h,i)=>f(s(0x200),[h,i]),'xlen':h=>f(s(0x1e7),[h]),'xpending':(h,j,k,l,m,o)=>f(s(0x1d7),[h,j,k,l,m,o]),'xclaim':(h,j,k,l,m,...o)=>f('xclaim',[h,j,k,l,m,...o]),'del':h=>f(s(0x1d4),[h]),'expire':function(h,i){const u=s;return f(u(0x1dd),[h,i]);},'hdel':(h,i)=>f(s(0x202),[h,i]),'hget':(h,i)=>f(s(0x1f8),[h,i]),'hgetall':h=>f(s(0x204),[h]),'hincrbyfloat':(h,i,j)=>f('hincrbyfloat',[h,i,j]),'hmget':(h,i)=>f(s(0x1f1),[h,i]),'hset':(h,i)=>f(s(0x1d6),[h,i]),'lrange':(h,i,j)=>f(s(0x1e2),[h,i,j]),'rpush':(h,i)=>f('rpush',[h,i]),'zadd':(...h)=>f(s(0x1ff),h),'xgroup':(h,i,j,k,l)=>f(s(0x203),[h,i,j,k,l])};return g;}return this[s(0x1ed)][s(0x1d9)]();}async['exec'](...c){const v=q,d=await this[v(0x1ed)]['call']['apply'](this[v(0x1ed)],c);return v(0x205)==typeof d?d:Array[v(0x1d8)](d)?(Array[v(0x1d8)](d[0x0]),d):d;}async[q(0x1ef)](c,d,f){const w=q,g=await this[w(0x1ed)][this[w(0x1d0)]['set']](c,d,'NX','EX',f['toString']());return this['isSuccessful'](g);}[q(0x1f6)](c){return c[0x1];}async[q(0x207)](c){const x=q,d=this['storeClient'][x(0x1d9)](),f=this['mintKey'](key_1['KeyType'][x(0x1f0)],{'appId':this['appId']});for(const g of c)d[x(0x1ff)](f,'NX',Date['now'](),g);await d[x(0x1f5)]();}}exports[q(0x1d2)]=IORedisStoreService;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { StoreInitializable } from '../store-initializable';
|
|
2
|
-
import { RedisRedisClientType as RedisClientType, RedisRedisMultiType as RedisMultiType } from '../../../../types/redis';
|
|
3
|
-
import { RedisStoreBase } from './_base';
|
|
4
|
-
declare class RedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
|
|
5
|
-
constructor(storeClient: RedisClientType);
|
|
6
|
-
/**
|
|
7
|
-
* When in cluster mode, the transact wrapper only
|
|
8
|
-
* sends commands to the same node/shard if they share a key.
|
|
9
|
-
* All other commands are sent simultaneouslyusing Promise.all
|
|
10
|
-
* and are then collated
|
|
11
|
-
*/
|
|
12
|
-
transact(): RedisMultiType;
|
|
13
|
-
exec(...args: any[]): Promise<string | string[] | string[][]>;
|
|
14
|
-
setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
|
|
15
|
-
zAdd(key: string, score: number | string, value: string | number, redisMulti?: RedisMultiType): Promise<any>;
|
|
16
|
-
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
17
|
-
}
|
|
18
|
-
export { RedisStoreService };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';const r=b;(function(c,d){const q=b,e=c();while(!![]){try{const f=-parseInt(q(0x1ed))/0x1+-parseInt(q(0x1d6))/0x2*(parseInt(q(0x201))/0x3)+parseInt(q(0x1f0))/0x4*(parseInt(q(0x1ef))/0x5)+-parseInt(q(0x1fd))/0x6*(-parseInt(q(0x1f8))/0x7)+parseInt(q(0x1ee))/0x8+parseInt(q(0x1d1))/0x9+-parseInt(q(0x1eb))/0xa;if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xac267));function b(c,d){const e=a();return b=function(f,g){f=f-0x1c7;let h=e[f];return h;},b(c,d);}Object[r(0x1d7)](exports,r(0x1d9),{'value':!0x0}),exports['RedisStoreService']=void 0x0;const enums_1=require(r(0x1d2)),_base_1=require(r(0x1cb));function a(){const E=['args','setnxex','SET','1024760YBLnGQ','LMOVE','946727OIprQe','132960gkLVAS','2530sVTNLA','7412kQODgO','zadd','HINCRBY','RENAME','zRangeByScore','XGROUP','HMSH_IS_CLUSTER','HDEL','92477FlmMAu','XDEL','commands','multi','XPENDING','186AxWqDp','RedisStoreService','storeClient','GET','3spWNeH','push','zrangebyscore','all','ZRANGE','EXPIRE','XLEN','map','ZADD','SCAN','./_base','LRANGE','toString','SETNX','HMGET','HINCRBYFLOAT','10996839RvYRBQ','../../../../modules/enums','sendCommand','HSCAN','XCLAIM','1662640HZyqVu','defineProperty','ZRANGEBYSCORE','__esModule','exec','HGETALL','HGET','XACK','DEL','transact','RPUSH','Function\x20not\x20implemented.','length','toUpperCase','command','HSET','XADD','ZRANGEBYSCORE_WITHSCORES'];a=function(){return E;};return a();}class RedisStoreService extends _base_1['RedisStoreBase']{constructor(c){const s=r;super(c),this[s(0x1fa)]={'get':s(0x200),'set':s(0x1ea),'setnx':s(0x1ce),'del':s(0x1de),'expire':s(0x206),'hscan':s(0x1d4),'hset':s(0x1e5),'hsetnx':'HSETNX','hincrby':s(0x1f2),'hdel':'HDEL','hget':s(0x1dc),'hmget':s(0x1cf),'hgetall':s(0x1db),'hincrbyfloat':s(0x1d0),'zrange':s(0x205),'zrangebyscore_withscores':s(0x1e7),'zrangebyscore':s(0x1d8),'zrem':'ZREM','zadd':'ZADD','lmove':s(0x1ec),'lrange':'LRANGE','lpop':'LPOP','rename':s(0x1f3),'rpush':s(0x1e0),'scan':s(0x1ca),'xack':s(0x1dd),'xdel':s(0x1f9),'xlen':'XLEN'};}[r(0x1df)](){const t=r,c=this;if(enums_1[t(0x1f6)]){const d=[],f=(h,i)=>(d[t(0x202)]({'command':h[t(0x1e3)](),'args':i}),g),g={'sendCommand':(h,...i)=>c[t(0x1ff)][t(0x1d3)]([h,...i]),async 'exec'(){const u=t;if(0x0===d[u(0x1e2)])return[];if(d['every'](h=>h['args'][0x0]===d[0x0][u(0x1e8)][0x0])){const h=c[u(0x1ff)][u(0x1fb)]();return d['forEach'](i=>u(0x1c9)===i[u(0x1e4)]?h[u(0x1c9)](i[u(0x1e8)][0x0],i[u(0x1e8)][0x1],i[u(0x1e8)][0x2]):h[i['command']](...i[u(0x1e8)])),(await h[u(0x1da)]())[u(0x1c8)](i=>i);}return Promise[u(0x204)](d[u(0x1c8)](i=>u(0x1c9)===i[u(0x1e4)]?c[u(0x1ff)][u(0x1c9)](i[u(0x1e8)][0x0],i[u(0x1e8)][0x1],i['args'][0x2]):c[u(0x1ff)][i[u(0x1e4)]](...i[u(0x1e8)])));},'XADD':(h,i,j,k)=>f(t(0x1e6),[h,i,j,k]),'XACK':(h,i,j)=>f(t(0x1dd),[h,i,j]),'XDEL':(h,i)=>f(t(0x1f9),[h,i]),'XLEN':h=>f(t(0x1c7),[h]),'XCLAIM':(h,j,k,l,m,...p)=>f(t(0x1d5),[h,j,k,l,m,...p]),'XPENDING':(h,j,k,l,m,p)=>f(t(0x1fc),[h,j,k,l,m,p]),'DEL':function(h){return f('DEL',[h]);},'EXPIRE':function(h,i){const v=t;return f(v(0x206),[h,i]);},'HDEL':(h,i)=>f(t(0x1f7),[h,i]),'HGET':(h,i)=>f('HGET',[h,i]),'HGETALL':h=>f(t(0x1db),[h]),'HINCRBYFLOAT':(h,i,j)=>f('HINCRBYFLOAT',[h,i,j]),'HMGET':(h,i)=>f(t(0x1cf),[h,i]),'HSET':(h,i)=>f(t(0x1e5),[h,i]),'LRANGE':(h,i,j)=>f(t(0x1cc),[h,i,j]),'RPUSH':(h,i)=>f('RPUSH',[h,i]),'ZADD':(h,i,j)=>f(t(0x1c9),[h,i,j]),'XGROUP':(h,i,j,k,l)=>f(t(0x1f5),[h,i,j,k,l]),'EXISTS':function(h){const w=t;throw new Error(w(0x1e1));},'HMPUSH':function(h,i){const x=t;throw new Error(x(0x1e1));},'LPUSH':function(h,i){throw new Error('Function\x20not\x20implemented.');},'SET':function(h,i){const y=t;throw new Error(y(0x1e1));},'ZRANGE_WITHSCORES':function(h,i,j){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(h,i){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(h,i){const z=t;throw new Error(z(0x1e1));}};return g;}return this[t(0x1ff)][t(0x1fb)]();}async[r(0x1da)](...c){const A=r;return await this[A(0x1ff)]['sendCommand'](c);}async[r(0x1e9)](c,d,f){const B=r,g=await this[B(0x1ff)][this[B(0x1fa)]['set']](c,d,{'NX':!0x0,'EX':f});return this['isSuccessful'](g);}async['zAdd'](c,d,f,g){const C=r;return await(g||this[C(0x1ff)])[this[C(0x1fa)][C(0x1f1)]](c,{'score':d,'value':f[C(0x1cd)]()});}async[r(0x1f4)](c,d,f){const D=r,g=await this['storeClient'][this[D(0x1fa)][D(0x203)]](c,d,f);return g?.[D(0x1e2)]>0x0?g[0x0]:null;}}exports[r(0x1fe)]=RedisStoreService;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';function a(){var j=['defineProperty','1191752MjdDyi','1194160QaIpYr','317610eopEAA','852628eyWdST','584235yNrdsV','14myhRas','316154KGQqcM','121053dOUyUg'];a=function(){return j;};return a();}var i=b;function b(c,d){var e=a();return b=function(f,g){f=f-0x16d;var h=e[f];return h;},b(c,d);}(function(c,d){var h=b,e=c();while(!![]){try{var f=-parseInt(h(0x172))/0x1+parseInt(h(0x171))/0x2+parseInt(h(0x16f))/0x3+-parseInt(h(0x16e))/0x4+-parseInt(h(0x175))/0x5+parseInt(h(0x16d))/0x6+parseInt(h(0x170))/0x7*(parseInt(h(0x174))/0x8);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x1fe5d));Object[i(0x173)](exports,'__esModule',{'value':!0x0});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '../logger';
|
|
2
|
-
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
3
|
-
import { StreamInitializable } from './providers/stream-initializable';
|
|
4
|
-
import { StreamService } from './index';
|
|
5
|
-
declare class StreamServiceFactory {
|
|
6
|
-
static init(provider: ProviderClient, storeProvider: ProviderClient, namespace: string, appId: string, logger: ILogger): Promise<StreamService<ProviderClient, ProviderTransaction> & StreamInitializable>;
|
|
7
|
-
}
|
|
8
|
-
export { StreamServiceFactory };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StreamServiceFactory = void 0;
|
|
4
|
-
const utils_1 = require("../../modules/utils");
|
|
5
|
-
const ioredis_1 = require("./providers/redis/ioredis");
|
|
6
|
-
const redis_1 = require("./providers/redis/redis");
|
|
7
|
-
const nats_1 = require("./providers/nats/nats");
|
|
8
|
-
const postgres_1 = require("./providers/postgres/postgres");
|
|
9
|
-
class StreamServiceFactory {
|
|
10
|
-
static async init(provider, storeProvider, namespace, appId, logger) {
|
|
11
|
-
let service;
|
|
12
|
-
const providerType = (0, utils_1.identifyProvider)(provider);
|
|
13
|
-
if (providerType === 'nats') {
|
|
14
|
-
let storeProvider;
|
|
15
|
-
if ((0, utils_1.identifyProvider)(storeProvider) === 'redis') {
|
|
16
|
-
storeProvider = storeProvider;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
//ioredis
|
|
20
|
-
storeProvider = storeProvider;
|
|
21
|
-
}
|
|
22
|
-
service = new nats_1.NatsStreamService(provider, storeProvider);
|
|
23
|
-
}
|
|
24
|
-
else if (providerType === 'postgres') {
|
|
25
|
-
service = new postgres_1.PostgresStreamService(provider, storeProvider);
|
|
26
|
-
}
|
|
27
|
-
else if (providerType === 'redis') {
|
|
28
|
-
service = new redis_1.RedisStreamService(provider, storeProvider);
|
|
29
|
-
}
|
|
30
|
-
else if (providerType === 'ioredis') {
|
|
31
|
-
service = new ioredis_1.IORedisStreamService(provider, storeProvider);
|
|
32
|
-
} //etc register other providers here
|
|
33
|
-
await service.init(namespace, appId, logger);
|
|
34
|
-
return service;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.StreamServiceFactory = StreamServiceFactory;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '../logger';
|
|
2
|
-
import { PublishMessageConfig, StreamConfig, StreamMessage, StreamStats } from '../../types/stream';
|
|
3
|
-
import { StringAnyType } from '../../types';
|
|
4
|
-
import { KeyStoreParams, KeyType } from '../../modules/key';
|
|
5
|
-
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
6
|
-
export declare abstract class StreamService<ClientProvider extends ProviderClient, TransactionProvider extends ProviderTransaction> {
|
|
7
|
-
protected streamClient: ClientProvider;
|
|
8
|
-
protected storeClient: ProviderClient;
|
|
9
|
-
protected namespace: string;
|
|
10
|
-
protected logger: ILogger;
|
|
11
|
-
protected appId: string;
|
|
12
|
-
protected config: StreamConfig;
|
|
13
|
-
constructor(streamClient: ClientProvider, storeClient: ProviderClient, config?: StreamConfig);
|
|
14
|
-
abstract init(namespace: string, appId: string, logger: ILogger): Promise<void>;
|
|
15
|
-
abstract mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
16
|
-
abstract createStream(streamName: string): Promise<boolean>;
|
|
17
|
-
abstract deleteStream(streamName: string): Promise<boolean>;
|
|
18
|
-
abstract createConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
19
|
-
abstract deleteConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
20
|
-
abstract publishMessages(streamName: string, messages: string[], options?: PublishMessageConfig): Promise<string[] | ProviderTransaction>;
|
|
21
|
-
abstract consumeMessages(streamName: string, groupName: string, consumerName: string, options?: {
|
|
22
|
-
batchSize?: number;
|
|
23
|
-
blockTimeout?: number;
|
|
24
|
-
autoAck?: boolean;
|
|
25
|
-
enableBackoff?: boolean;
|
|
26
|
-
initialBackoff?: number;
|
|
27
|
-
maxBackoff?: number;
|
|
28
|
-
maxRetries?: number;
|
|
29
|
-
}): Promise<StreamMessage[]>;
|
|
30
|
-
abstract transact(): ProviderTransaction;
|
|
31
|
-
abstract ackAndDelete(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>;
|
|
32
|
-
abstract acknowledgeMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number | TransactionProvider>;
|
|
33
|
-
abstract deleteMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number | TransactionProvider>;
|
|
34
|
-
abstract retryMessages(streamName: string, groupName: string, options?: {
|
|
35
|
-
consumerName?: string;
|
|
36
|
-
minIdleTime?: number;
|
|
37
|
-
messageIds?: string[];
|
|
38
|
-
delay?: number;
|
|
39
|
-
maxRetries?: number;
|
|
40
|
-
limit?: number;
|
|
41
|
-
}): Promise<StreamMessage[]>;
|
|
42
|
-
abstract getStreamStats(streamName: string): Promise<StreamStats>;
|
|
43
|
-
abstract getStreamDepth(streamName: string): Promise<number>;
|
|
44
|
-
abstract getStreamDepths(streamName: {
|
|
45
|
-
stream: string;
|
|
46
|
-
}[]): Promise<{
|
|
47
|
-
stream: string;
|
|
48
|
-
depth: number;
|
|
49
|
-
}[]>;
|
|
50
|
-
abstract trimStream(streamName: string, options: {
|
|
51
|
-
maxLen?: number;
|
|
52
|
-
maxAge?: number;
|
|
53
|
-
exactLimit?: boolean;
|
|
54
|
-
}): Promise<number>;
|
|
55
|
-
abstract getProviderSpecificFeatures(): {
|
|
56
|
-
supportsBatching: boolean;
|
|
57
|
-
supportsDeadLetterQueue: boolean;
|
|
58
|
-
supportsOrdering: boolean;
|
|
59
|
-
supportsTrimming: boolean;
|
|
60
|
-
supportsRetry: boolean;
|
|
61
|
-
maxMessageSize: number;
|
|
62
|
-
maxBatchSize: number;
|
|
63
|
-
};
|
|
64
|
-
}
|