effect-mq 0.2.0 → 0.3.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 +153 -18
- package/dist/Job.d.ts +51 -1
- package/dist/Job.d.ts.map +1 -1
- package/dist/Job.js +44 -2
- package/dist/Job.js.map +1 -1
- package/dist/JobStore.d.ts +86 -6
- package/dist/JobStore.d.ts.map +1 -1
- package/dist/JobStore.js +27 -1
- package/dist/JobStore.js.map +1 -1
- package/dist/MemoryJobStore.d.ts +6 -5
- package/dist/MemoryJobStore.d.ts.map +1 -1
- package/dist/MemoryJobStore.js +160 -32
- package/dist/MemoryJobStore.js.map +1 -1
- package/dist/Worker.d.ts.map +1 -1
- package/dist/Worker.js +1 -0
- package/dist/Worker.js.map +1 -1
- package/dist/drizzle-postgres/DrizzleJobStore.d.ts +20 -3
- package/dist/drizzle-postgres/DrizzleJobStore.d.ts.map +1 -1
- package/dist/drizzle-postgres/DrizzleJobStore.js +352 -84
- package/dist/drizzle-postgres/DrizzleJobStore.js.map +1 -1
- package/dist/drizzle-postgres/schema.d.ts +255 -351
- package/dist/drizzle-postgres/schema.d.ts.map +1 -1
- package/dist/drizzle-postgres/schema.js +75 -27
- package/dist/drizzle-postgres/schema.js.map +1 -1
- package/dist/redis/RedisJobStore.d.ts +4 -2
- package/dist/redis/RedisJobStore.d.ts.map +1 -1
- package/dist/redis/RedisJobStore.js +67 -28
- package/dist/redis/RedisJobStore.js.map +1 -1
- package/dist/redis/scripts.d.ts +19 -6
- package/dist/redis/scripts.d.ts.map +1 -1
- package/dist/redis/scripts.js +208 -23
- package/dist/redis/scripts.js.map +1 -1
- package/dist/testing/conformance.d.ts.map +1 -1
- package/dist/testing/conformance.js +172 -7
- package/dist/testing/conformance.js.map +1 -1
- package/package.json +1 -1
- package/src/Job.ts +113 -6
- package/src/JobStore.ts +122 -6
- package/src/MemoryJobStore.ts +184 -44
- package/src/Worker.ts +1 -0
- package/src/drizzle-postgres/DrizzleJobStore.ts +431 -91
- package/src/drizzle-postgres/schema.ts +177 -63
- package/src/redis/RedisJobStore.ts +90 -35
- package/src/redis/scripts.ts +217 -24
- package/src/testing/conformance.ts +246 -7
|
@@ -7,13 +7,23 @@
|
|
|
7
7
|
*
|
|
8
8
|
* ```ts
|
|
9
9
|
* // schema.ts
|
|
10
|
-
* import { mqJobAttempts, mqJobs } from "effect-mq/drizzle"
|
|
10
|
+
* import { mqJobAttempts, mqJobs } from "effect-mq/drizzle-postgres"
|
|
11
11
|
*
|
|
12
12
|
* type DurableJobs = typeof GenerateInvoice._tag | typeof GenerateReport._tag
|
|
13
13
|
* export const jobs = mqJobs<DurableJobs>()
|
|
14
14
|
* export const jobAttempts = mqJobAttempts(jobs)
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Every factory accepts an `extraConfig` callback — the same shape as
|
|
18
|
+
* drizzle's own third `pgTable` argument — to add your own indexes (or
|
|
19
|
+
* checks/policies) on top of the built-in ones:
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* export const jobs = mqJobs<DurableJobs>("effect_mq_jobs", {
|
|
23
|
+
* extraConfig: (t) => [index("jobs_name_recent_idx").on(t.name, t.enqueuedAt.desc())]
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
17
27
|
* Then `drizzle-kit generate` emits the CREATE TABLE migrations into your
|
|
18
28
|
* pipeline like any other table. Reads through drizzle are encouraged;
|
|
19
29
|
* writes must go through the `JobStore` (e.g. `store.retry`) so locking and
|
|
@@ -22,371 +32,161 @@
|
|
|
22
32
|
* @since 0.1.0
|
|
23
33
|
*/
|
|
24
34
|
import type * as JobStore from "../JobStore.ts";
|
|
35
|
+
import { type AnyPgColumnBuilder, type PgBuildExtraConfigColumns, type PgTableExtraConfigValue } from "drizzle-orm/pg-core";
|
|
36
|
+
/**
|
|
37
|
+
* Table-factory options: `extraConfig` receives the table's columns (exactly
|
|
38
|
+
* like drizzle's third `pgTable` argument) and returns additional indexes,
|
|
39
|
+
* checks, or policies, appended after the built-in ones.
|
|
40
|
+
*
|
|
41
|
+
* @since 0.2.1
|
|
42
|
+
*/
|
|
43
|
+
export interface MqTableOptions<Columns extends Record<string, AnyPgColumnBuilder>> {
|
|
44
|
+
readonly extraConfig?: ((table: PgBuildExtraConfigColumns<Columns>) => Array<PgTableExtraConfigValue>) | undefined;
|
|
45
|
+
}
|
|
46
|
+
declare const jobsColumns: <JobName extends string>() => {
|
|
47
|
+
id: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobId>;
|
|
48
|
+
name: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobName>;
|
|
49
|
+
queue: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.QueueName>;
|
|
50
|
+
state: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobState>;
|
|
51
|
+
priority: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
52
|
+
/** FIFO order within a priority; bumped on retry so retries go to the tail. */
|
|
53
|
+
seq: import("drizzle-orm/pg-core").HasIdentity<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, "byDefault">;
|
|
54
|
+
payload: import("drizzle-orm/pg-core").PgJsonbBuilder;
|
|
55
|
+
metadata: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgJsonbBuilder>>, Record<string, string>>;
|
|
56
|
+
attemptsMax: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>;
|
|
57
|
+
attemptsMade: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
58
|
+
stalledCount: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
59
|
+
backoff: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.BackoffPolicy>;
|
|
60
|
+
keep: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.KeepPolicy>;
|
|
61
|
+
timeoutMs: import("drizzle-orm/pg-core").PgBigInt53Builder;
|
|
62
|
+
cancelRequested: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBooleanBuilder>>;
|
|
63
|
+
dedupeKey: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
64
|
+
runAt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>;
|
|
65
|
+
enqueuedAt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>;
|
|
66
|
+
processedAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
67
|
+
finishedAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
68
|
+
exit: import("drizzle-orm/pg-core").PgJsonbBuilder;
|
|
69
|
+
failedReason: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
70
|
+
lockToken: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
71
|
+
lockExpiresAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
72
|
+
};
|
|
25
73
|
/**
|
|
26
74
|
* The jobs table factory. `JobName` types the `name` column — derive it from
|
|
27
75
|
* your job definitions: `mqJobs<typeof GenerateInvoice._tag | typeof Report._tag>()`.
|
|
28
76
|
*
|
|
77
|
+
* `extend` adds your own columns (tenant ids, object ids, ...) to the table.
|
|
78
|
+
* At enqueue the Postgres store fills each extended column from the job's
|
|
79
|
+
* `metadata` entry with the same TS key (NULL when absent); override the
|
|
80
|
+
* mapping with the store's `extraValues` option. Extended columns are yours
|
|
81
|
+
* to read with plain drizzle queries — FKs, RLS policies, and `extraConfig`
|
|
82
|
+
* indexes all work:
|
|
83
|
+
*
|
|
84
|
+
* ```ts
|
|
85
|
+
* export const jobs = mqJobs<JobNames>("effect_mq_jobs", {
|
|
86
|
+
* extend: {
|
|
87
|
+
* companyId: text("company_id").notNull(),
|
|
88
|
+
* objectId: text("object_id")
|
|
89
|
+
* },
|
|
90
|
+
* extraConfig: (t) => [index("jobs_company_idx").on(t.companyId, t.state)]
|
|
91
|
+
* })
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
29
94
|
* @since 0.1.0
|
|
30
95
|
*/
|
|
31
|
-
export declare const mqJobs: <JobName extends string = string>(tableName?: string
|
|
96
|
+
export declare const mqJobs: <JobName extends string = string, Extend extends Record<string, AnyPgColumnBuilder> = Record<never, never>>(tableName?: string, options?: MqTableOptions<ReturnType<typeof jobsColumns<JobName>> & Extend> & {
|
|
97
|
+
/** Extra columns appended to the factory's own (see the JSDoc example). */
|
|
98
|
+
readonly extend?: Extend | undefined;
|
|
99
|
+
}) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
32
100
|
name: string;
|
|
33
101
|
schema: undefined;
|
|
34
102
|
columns: {
|
|
35
|
-
id: import("drizzle-orm/pg-core").
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
hasRuntimeDefault: false;
|
|
106
|
-
enumValues: undefined;
|
|
107
|
-
identity: undefined;
|
|
108
|
-
generated: undefined;
|
|
109
|
-
}>;
|
|
110
|
-
seq: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").HasIdentity<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, "byDefault">, {
|
|
111
|
-
name: string;
|
|
112
|
-
tableName: string;
|
|
113
|
-
dataType: "number int53";
|
|
114
|
-
data: number;
|
|
115
|
-
driverParam: string | number;
|
|
116
|
-
notNull: true;
|
|
117
|
-
hasDefault: true;
|
|
118
|
-
isPrimaryKey: false;
|
|
119
|
-
isAutoincrement: false;
|
|
120
|
-
hasRuntimeDefault: false;
|
|
121
|
-
enumValues: undefined;
|
|
122
|
-
identity: "byDefault";
|
|
123
|
-
generated: undefined;
|
|
124
|
-
}>;
|
|
125
|
-
payload: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgJsonbBuilder, {
|
|
126
|
-
name: string;
|
|
127
|
-
tableName: string;
|
|
128
|
-
dataType: "object json";
|
|
129
|
-
data: unknown;
|
|
130
|
-
driverParam: unknown;
|
|
131
|
-
notNull: false;
|
|
132
|
-
hasDefault: false;
|
|
133
|
-
isPrimaryKey: false;
|
|
134
|
-
isAutoincrement: false;
|
|
135
|
-
hasRuntimeDefault: false;
|
|
136
|
-
enumValues: undefined;
|
|
137
|
-
identity: undefined;
|
|
138
|
-
generated: undefined;
|
|
139
|
-
}>;
|
|
140
|
-
metadata: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgJsonbBuilder>>, Record<string, string>>, {
|
|
141
|
-
name: string;
|
|
142
|
-
tableName: string;
|
|
143
|
-
dataType: "object json";
|
|
144
|
-
data: Record<string, string>;
|
|
145
|
-
driverParam: unknown;
|
|
146
|
-
notNull: true;
|
|
147
|
-
hasDefault: true;
|
|
148
|
-
isPrimaryKey: false;
|
|
149
|
-
isAutoincrement: false;
|
|
150
|
-
hasRuntimeDefault: false;
|
|
151
|
-
enumValues: undefined;
|
|
152
|
-
identity: undefined;
|
|
153
|
-
generated: undefined;
|
|
154
|
-
}>;
|
|
155
|
-
attemptsMax: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>, {
|
|
156
|
-
name: string;
|
|
157
|
-
tableName: string;
|
|
158
|
-
dataType: "number int32";
|
|
159
|
-
data: number;
|
|
160
|
-
driverParam: string | number;
|
|
161
|
-
notNull: true;
|
|
162
|
-
hasDefault: false;
|
|
163
|
-
isPrimaryKey: false;
|
|
164
|
-
isAutoincrement: false;
|
|
165
|
-
hasRuntimeDefault: false;
|
|
166
|
-
enumValues: undefined;
|
|
167
|
-
identity: undefined;
|
|
168
|
-
generated: undefined;
|
|
169
|
-
}>;
|
|
170
|
-
attemptsMade: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>, {
|
|
171
|
-
name: string;
|
|
172
|
-
tableName: string;
|
|
173
|
-
dataType: "number int32";
|
|
174
|
-
data: number;
|
|
175
|
-
driverParam: string | number;
|
|
176
|
-
notNull: true;
|
|
177
|
-
hasDefault: true;
|
|
178
|
-
isPrimaryKey: false;
|
|
179
|
-
isAutoincrement: false;
|
|
180
|
-
hasRuntimeDefault: false;
|
|
181
|
-
enumValues: undefined;
|
|
182
|
-
identity: undefined;
|
|
183
|
-
generated: undefined;
|
|
184
|
-
}>;
|
|
185
|
-
stalledCount: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>, {
|
|
186
|
-
name: string;
|
|
187
|
-
tableName: string;
|
|
188
|
-
dataType: "number int32";
|
|
189
|
-
data: number;
|
|
190
|
-
driverParam: string | number;
|
|
191
|
-
notNull: true;
|
|
192
|
-
hasDefault: true;
|
|
193
|
-
isPrimaryKey: false;
|
|
194
|
-
isAutoincrement: false;
|
|
195
|
-
hasRuntimeDefault: false;
|
|
196
|
-
enumValues: undefined;
|
|
197
|
-
identity: undefined;
|
|
198
|
-
generated: undefined;
|
|
199
|
-
}>;
|
|
200
|
-
backoff: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.BackoffPolicy>, {
|
|
201
|
-
name: string;
|
|
202
|
-
tableName: string;
|
|
203
|
-
dataType: "object json";
|
|
204
|
-
data: JobStore.BackoffPolicy;
|
|
205
|
-
driverParam: unknown;
|
|
206
|
-
notNull: false;
|
|
207
|
-
hasDefault: false;
|
|
208
|
-
isPrimaryKey: false;
|
|
209
|
-
isAutoincrement: false;
|
|
210
|
-
hasRuntimeDefault: false;
|
|
211
|
-
enumValues: undefined;
|
|
212
|
-
identity: undefined;
|
|
213
|
-
generated: undefined;
|
|
214
|
-
}>;
|
|
215
|
-
keep: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.KeepPolicy>, {
|
|
216
|
-
name: string;
|
|
217
|
-
tableName: string;
|
|
218
|
-
dataType: "object json";
|
|
219
|
-
data: JobStore.KeepPolicy;
|
|
220
|
-
driverParam: unknown;
|
|
221
|
-
notNull: false;
|
|
222
|
-
hasDefault: false;
|
|
223
|
-
isPrimaryKey: false;
|
|
224
|
-
isAutoincrement: false;
|
|
225
|
-
hasRuntimeDefault: false;
|
|
226
|
-
enumValues: undefined;
|
|
227
|
-
identity: undefined;
|
|
228
|
-
generated: undefined;
|
|
229
|
-
}>;
|
|
230
|
-
timeoutMs: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgBigInt53Builder, {
|
|
231
|
-
name: string;
|
|
232
|
-
tableName: string;
|
|
233
|
-
dataType: "number int53";
|
|
234
|
-
data: number;
|
|
235
|
-
driverParam: string | number;
|
|
236
|
-
notNull: false;
|
|
237
|
-
hasDefault: false;
|
|
238
|
-
isPrimaryKey: false;
|
|
239
|
-
isAutoincrement: false;
|
|
240
|
-
hasRuntimeDefault: false;
|
|
241
|
-
enumValues: undefined;
|
|
242
|
-
identity: undefined;
|
|
243
|
-
generated: undefined;
|
|
244
|
-
}>;
|
|
245
|
-
cancelRequested: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBooleanBuilder>>, {
|
|
246
|
-
name: string;
|
|
247
|
-
tableName: string;
|
|
248
|
-
dataType: "boolean";
|
|
249
|
-
data: boolean;
|
|
250
|
-
driverParam: boolean;
|
|
251
|
-
notNull: true;
|
|
252
|
-
hasDefault: true;
|
|
253
|
-
isPrimaryKey: false;
|
|
254
|
-
isAutoincrement: false;
|
|
255
|
-
hasRuntimeDefault: false;
|
|
256
|
-
enumValues: undefined;
|
|
257
|
-
identity: undefined;
|
|
258
|
-
generated: undefined;
|
|
259
|
-
}>;
|
|
260
|
-
runAt: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>, {
|
|
261
|
-
name: string;
|
|
262
|
-
tableName: string;
|
|
263
|
-
dataType: "object date";
|
|
264
|
-
data: Date;
|
|
265
|
-
driverParam: string;
|
|
266
|
-
notNull: true;
|
|
267
|
-
hasDefault: false;
|
|
268
|
-
isPrimaryKey: false;
|
|
269
|
-
isAutoincrement: false;
|
|
270
|
-
hasRuntimeDefault: false;
|
|
271
|
-
enumValues: undefined;
|
|
272
|
-
identity: undefined;
|
|
273
|
-
generated: undefined;
|
|
274
|
-
}>;
|
|
275
|
-
enqueuedAt: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>, {
|
|
276
|
-
name: string;
|
|
277
|
-
tableName: string;
|
|
278
|
-
dataType: "object date";
|
|
279
|
-
data: Date;
|
|
280
|
-
driverParam: string;
|
|
281
|
-
notNull: true;
|
|
282
|
-
hasDefault: false;
|
|
283
|
-
isPrimaryKey: false;
|
|
284
|
-
isAutoincrement: false;
|
|
285
|
-
hasRuntimeDefault: false;
|
|
286
|
-
enumValues: undefined;
|
|
287
|
-
identity: undefined;
|
|
288
|
-
generated: undefined;
|
|
289
|
-
}>;
|
|
290
|
-
processedAt: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgTimestampBuilder, {
|
|
291
|
-
name: string;
|
|
292
|
-
tableName: string;
|
|
293
|
-
dataType: "object date";
|
|
294
|
-
data: Date;
|
|
295
|
-
driverParam: string;
|
|
296
|
-
notNull: false;
|
|
297
|
-
hasDefault: false;
|
|
298
|
-
isPrimaryKey: false;
|
|
299
|
-
isAutoincrement: false;
|
|
300
|
-
hasRuntimeDefault: false;
|
|
301
|
-
enumValues: undefined;
|
|
302
|
-
identity: undefined;
|
|
303
|
-
generated: undefined;
|
|
304
|
-
}>;
|
|
305
|
-
finishedAt: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgTimestampBuilder, {
|
|
306
|
-
name: string;
|
|
307
|
-
tableName: string;
|
|
308
|
-
dataType: "object date";
|
|
309
|
-
data: Date;
|
|
310
|
-
driverParam: string;
|
|
311
|
-
notNull: false;
|
|
312
|
-
hasDefault: false;
|
|
313
|
-
isPrimaryKey: false;
|
|
314
|
-
isAutoincrement: false;
|
|
315
|
-
hasRuntimeDefault: false;
|
|
316
|
-
enumValues: undefined;
|
|
317
|
-
identity: undefined;
|
|
318
|
-
generated: undefined;
|
|
319
|
-
}>;
|
|
320
|
-
exit: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgJsonbBuilder, {
|
|
321
|
-
name: string;
|
|
322
|
-
tableName: string;
|
|
323
|
-
dataType: "object json";
|
|
324
|
-
data: unknown;
|
|
325
|
-
driverParam: unknown;
|
|
326
|
-
notNull: false;
|
|
327
|
-
hasDefault: false;
|
|
328
|
-
isPrimaryKey: false;
|
|
329
|
-
isAutoincrement: false;
|
|
330
|
-
hasRuntimeDefault: false;
|
|
331
|
-
enumValues: undefined;
|
|
332
|
-
identity: undefined;
|
|
333
|
-
generated: undefined;
|
|
334
|
-
}>;
|
|
335
|
-
failedReason: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
|
|
336
|
-
name: string;
|
|
337
|
-
tableName: string;
|
|
338
|
-
dataType: "string";
|
|
339
|
-
data: string;
|
|
340
|
-
driverParam: string;
|
|
341
|
-
notNull: false;
|
|
342
|
-
hasDefault: false;
|
|
343
|
-
isPrimaryKey: false;
|
|
344
|
-
isAutoincrement: false;
|
|
345
|
-
hasRuntimeDefault: false;
|
|
346
|
-
enumValues: undefined;
|
|
347
|
-
identity: undefined;
|
|
348
|
-
generated: undefined;
|
|
349
|
-
}>;
|
|
350
|
-
lockToken: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
|
|
351
|
-
name: string;
|
|
352
|
-
tableName: string;
|
|
353
|
-
dataType: "string";
|
|
354
|
-
data: string;
|
|
355
|
-
driverParam: string;
|
|
356
|
-
notNull: false;
|
|
357
|
-
hasDefault: false;
|
|
358
|
-
isPrimaryKey: false;
|
|
359
|
-
isAutoincrement: false;
|
|
360
|
-
hasRuntimeDefault: false;
|
|
361
|
-
enumValues: undefined;
|
|
362
|
-
identity: undefined;
|
|
363
|
-
generated: undefined;
|
|
364
|
-
}>;
|
|
365
|
-
lockExpiresAt: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgTimestampBuilder, {
|
|
366
|
-
name: string;
|
|
367
|
-
tableName: string;
|
|
368
|
-
dataType: "object date";
|
|
369
|
-
data: Date;
|
|
370
|
-
driverParam: string;
|
|
371
|
-
notNull: false;
|
|
372
|
-
hasDefault: false;
|
|
373
|
-
isPrimaryKey: false;
|
|
374
|
-
isAutoincrement: false;
|
|
375
|
-
hasRuntimeDefault: false;
|
|
376
|
-
enumValues: undefined;
|
|
377
|
-
identity: undefined;
|
|
378
|
-
generated: undefined;
|
|
379
|
-
}>;
|
|
380
|
-
};
|
|
103
|
+
id: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobId>;
|
|
104
|
+
name: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobName>;
|
|
105
|
+
queue: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.QueueName>;
|
|
106
|
+
state: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobState>;
|
|
107
|
+
priority: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
108
|
+
/** FIFO order within a priority; bumped on retry so retries go to the tail. */
|
|
109
|
+
seq: import("drizzle-orm/pg-core").HasIdentity<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, "byDefault">;
|
|
110
|
+
payload: import("drizzle-orm/pg-core").PgJsonbBuilder;
|
|
111
|
+
metadata: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgJsonbBuilder>>, Record<string, string>>;
|
|
112
|
+
attemptsMax: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>;
|
|
113
|
+
attemptsMade: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
114
|
+
stalledCount: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
115
|
+
backoff: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.BackoffPolicy>;
|
|
116
|
+
keep: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.KeepPolicy>;
|
|
117
|
+
timeoutMs: import("drizzle-orm/pg-core").PgBigInt53Builder;
|
|
118
|
+
cancelRequested: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBooleanBuilder>>;
|
|
119
|
+
dedupeKey: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
120
|
+
runAt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>;
|
|
121
|
+
enqueuedAt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>;
|
|
122
|
+
processedAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
123
|
+
finishedAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
124
|
+
exit: import("drizzle-orm/pg-core").PgJsonbBuilder;
|
|
125
|
+
failedReason: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
126
|
+
lockToken: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
127
|
+
lockExpiresAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
128
|
+
} & Extend extends infer T extends Record<string, AnyPgColumnBuilder> ? { [Key in keyof T]: import("drizzle-orm/pg-core").PgBuildColumn<TTableName, T[Key], {
|
|
129
|
+
name: string;
|
|
130
|
+
tableName: TTableName;
|
|
131
|
+
dataType: T[Key]["_"]["dataType"];
|
|
132
|
+
data: T[Key]["_"]["dimensions"] extends 1 | 2 | 3 | 4 | 5 ? T[Key]["_"]["dimensions"] extends infer T_1 ? T_1 extends T[Key]["_"]["dimensions"] ? T_1 extends 1 ? (T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
133
|
+
$type: infer U;
|
|
134
|
+
} ? U : T_2 extends {
|
|
135
|
+
data: infer D;
|
|
136
|
+
} ? D : unknown : never : never)[] : T_1 extends 2 ? (T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
137
|
+
$type: infer U;
|
|
138
|
+
} ? U : T_2 extends {
|
|
139
|
+
data: infer D;
|
|
140
|
+
} ? D : unknown : never : never)[][] : T_1 extends 3 ? (T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
141
|
+
$type: infer U;
|
|
142
|
+
} ? U : T_2 extends {
|
|
143
|
+
data: infer D;
|
|
144
|
+
} ? D : unknown : never : never)[][][] : T_1 extends 4 ? (T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
145
|
+
$type: infer U;
|
|
146
|
+
} ? U : T_2 extends {
|
|
147
|
+
data: infer D;
|
|
148
|
+
} ? D : unknown : never : never)[][][][] : T_1 extends 5 ? (T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
149
|
+
$type: infer U;
|
|
150
|
+
} ? U : T_2 extends {
|
|
151
|
+
data: infer D;
|
|
152
|
+
} ? D : unknown : never : never)[][][][][] : T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
153
|
+
$type: infer U;
|
|
154
|
+
} ? U : T_2 extends {
|
|
155
|
+
data: infer D;
|
|
156
|
+
} ? D : unknown : never : never : never : never : T[Key]["_"] extends infer T_2 ? T_2 extends T[Key]["_"] ? T_2 extends {
|
|
157
|
+
$type: infer U;
|
|
158
|
+
} ? U : T_2 extends {
|
|
159
|
+
data: infer D;
|
|
160
|
+
} ? D : unknown : never : never;
|
|
161
|
+
driverParam: T[Key]["_"]["dimensions"] extends 1 | 2 | 3 | 4 | 5 ? string | (T[Key]["_"]["dimensions"] extends infer T_3 ? T_3 extends T[Key]["_"]["dimensions"] ? T_3 extends 1 ? T[Key]["_"]["driverParam"][] : T_3 extends 2 ? T[Key]["_"]["driverParam"][][] : T_3 extends 3 ? T[Key]["_"]["driverParam"][][][] : T_3 extends 4 ? T[Key]["_"]["driverParam"][][][][] : T_3 extends 5 ? T[Key]["_"]["driverParam"][][][][][] : T[Key]["_"]["driverParam"] : never : never) : T[Key]["_"]["driverParam"];
|
|
162
|
+
notNull: T[Key]["_"]["notNull"] extends true ? true : false;
|
|
163
|
+
hasDefault: T[Key]["_"]["hasDefault"] extends true ? true : false;
|
|
164
|
+
isPrimaryKey: false;
|
|
165
|
+
isAutoincrement: false;
|
|
166
|
+
hasRuntimeDefault: false;
|
|
167
|
+
enumValues: T[Key]["_"] extends infer T_4 ? T_4 extends T[Key]["_"] ? T_4 extends {
|
|
168
|
+
enumValues: infer E extends string[];
|
|
169
|
+
} ? E : undefined : never : never;
|
|
170
|
+
identity: T[Key]["_"]["identity"] extends "always" | "byDefault" ? T[Key]["_"]["identity"] : undefined;
|
|
171
|
+
generated: T[Key]["_"]["generated"] extends true ? true : undefined;
|
|
172
|
+
}>; } : never;
|
|
381
173
|
dialect: 'pg';
|
|
382
174
|
}>;
|
|
175
|
+
declare const attemptsColumns: (jobs: MqJobsTable) => {
|
|
176
|
+
jobId: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobId>;
|
|
177
|
+
attempt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>;
|
|
178
|
+
outcome: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, "cancelled" | "completed" | "failed" | "retried" | "stalled">;
|
|
179
|
+
startedAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
180
|
+
finishedAt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>;
|
|
181
|
+
exit: import("drizzle-orm/pg-core").PgJsonbBuilder;
|
|
182
|
+
};
|
|
383
183
|
/**
|
|
384
184
|
* The job run-ledger table factory (one row per attempt, including
|
|
385
185
|
* successes and stall recoveries).
|
|
386
186
|
*
|
|
387
187
|
* @since 0.1.0
|
|
388
188
|
*/
|
|
389
|
-
export declare const mqJobAttempts: (jobs: ReturnType<typeof mqJobs<any>>, tableName?: string) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
189
|
+
export declare const mqJobAttempts: (jobs: ReturnType<typeof mqJobs<any>>, tableName?: string, options?: MqTableOptions<ReturnType<typeof attemptsColumns>>) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
390
190
|
name: string;
|
|
391
191
|
schema: undefined;
|
|
392
192
|
columns: {
|
|
@@ -483,12 +283,28 @@ export declare const mqJobAttempts: (jobs: ReturnType<typeof mqJobs<any>>, table
|
|
|
483
283
|
};
|
|
484
284
|
dialect: 'pg';
|
|
485
285
|
}>;
|
|
286
|
+
declare const schedulesColumns: () => {
|
|
287
|
+
key: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.ScheduleKey>;
|
|
288
|
+
jobName: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>;
|
|
289
|
+
queue: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.QueueName>;
|
|
290
|
+
cron: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
291
|
+
tz: import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>;
|
|
292
|
+
everyMs: import("drizzle-orm/pg-core").PgBigInt53Builder;
|
|
293
|
+
payload: import("drizzle-orm/pg-core").PgJsonbBuilder;
|
|
294
|
+
metadata: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgJsonbBuilder>>, Record<string, string>>;
|
|
295
|
+
priority: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>>;
|
|
296
|
+
attemptsMax: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgIntegerBuilder>;
|
|
297
|
+
backoff: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.BackoffPolicy>;
|
|
298
|
+
keep: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, JobStore.KeepPolicy>;
|
|
299
|
+
timeoutMs: import("drizzle-orm/pg-core").PgBigInt53Builder;
|
|
300
|
+
nextRunAt: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>;
|
|
301
|
+
};
|
|
486
302
|
/**
|
|
487
303
|
* Repeatable-job schedules (one row per `Job.schedule` key).
|
|
488
304
|
*
|
|
489
305
|
* @since 0.2.0
|
|
490
306
|
*/
|
|
491
|
-
export declare const mqSchedules: (tableName?: string) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
307
|
+
export declare const mqSchedules: (tableName?: string, options?: MqTableOptions<ReturnType<typeof schedulesColumns>>) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
492
308
|
name: string;
|
|
493
309
|
schema: undefined;
|
|
494
310
|
columns: {
|
|
@@ -705,12 +521,95 @@ export declare const mqSchedules: (tableName?: string) => import("drizzle-orm/pg
|
|
|
705
521
|
};
|
|
706
522
|
dialect: 'pg';
|
|
707
523
|
}>;
|
|
524
|
+
declare const dedupeColumns: () => {
|
|
525
|
+
name: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>;
|
|
526
|
+
key: import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>;
|
|
527
|
+
jobId: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobId>;
|
|
528
|
+
/** Set for ttl/throttle windows; NULL rows live as long as their job is pending. */
|
|
529
|
+
windowExpiresAt: import("drizzle-orm/pg-core").PgTimestampBuilder;
|
|
530
|
+
};
|
|
531
|
+
/**
|
|
532
|
+
* Dedup-key registry (one row per job name + dedup key; see `DedupePolicy`).
|
|
533
|
+
*
|
|
534
|
+
* @since 0.3.0
|
|
535
|
+
*/
|
|
536
|
+
export declare const mqDedupe: (tableName?: string, options?: MqTableOptions<ReturnType<typeof dedupeColumns>>) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
537
|
+
name: string;
|
|
538
|
+
schema: undefined;
|
|
539
|
+
columns: {
|
|
540
|
+
name: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
541
|
+
name: string;
|
|
542
|
+
tableName: string;
|
|
543
|
+
dataType: "string";
|
|
544
|
+
data: string;
|
|
545
|
+
driverParam: string;
|
|
546
|
+
notNull: true;
|
|
547
|
+
hasDefault: false;
|
|
548
|
+
isPrimaryKey: false;
|
|
549
|
+
isAutoincrement: false;
|
|
550
|
+
hasRuntimeDefault: false;
|
|
551
|
+
enumValues: undefined;
|
|
552
|
+
identity: undefined;
|
|
553
|
+
generated: undefined;
|
|
554
|
+
}>;
|
|
555
|
+
key: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
|
|
556
|
+
name: string;
|
|
557
|
+
tableName: string;
|
|
558
|
+
dataType: "string";
|
|
559
|
+
data: string;
|
|
560
|
+
driverParam: string;
|
|
561
|
+
notNull: true;
|
|
562
|
+
hasDefault: false;
|
|
563
|
+
isPrimaryKey: false;
|
|
564
|
+
isAutoincrement: false;
|
|
565
|
+
hasRuntimeDefault: false;
|
|
566
|
+
enumValues: undefined;
|
|
567
|
+
identity: undefined;
|
|
568
|
+
generated: undefined;
|
|
569
|
+
}>;
|
|
570
|
+
jobId: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.JobId>, {
|
|
571
|
+
name: string;
|
|
572
|
+
tableName: string;
|
|
573
|
+
dataType: "string";
|
|
574
|
+
data: JobStore.JobId;
|
|
575
|
+
driverParam: string;
|
|
576
|
+
notNull: true;
|
|
577
|
+
hasDefault: false;
|
|
578
|
+
isPrimaryKey: false;
|
|
579
|
+
isAutoincrement: false;
|
|
580
|
+
hasRuntimeDefault: false;
|
|
581
|
+
enumValues: undefined;
|
|
582
|
+
identity: undefined;
|
|
583
|
+
generated: undefined;
|
|
584
|
+
}>;
|
|
585
|
+
windowExpiresAt: import("drizzle-orm/pg-core").PgBuildColumn<string, import("drizzle-orm/pg-core").PgTimestampBuilder, {
|
|
586
|
+
name: string;
|
|
587
|
+
tableName: string;
|
|
588
|
+
dataType: "object date";
|
|
589
|
+
data: Date;
|
|
590
|
+
driverParam: string;
|
|
591
|
+
notNull: false;
|
|
592
|
+
hasDefault: false;
|
|
593
|
+
isPrimaryKey: false;
|
|
594
|
+
isAutoincrement: false;
|
|
595
|
+
hasRuntimeDefault: false;
|
|
596
|
+
enumValues: undefined;
|
|
597
|
+
identity: undefined;
|
|
598
|
+
generated: undefined;
|
|
599
|
+
}>;
|
|
600
|
+
};
|
|
601
|
+
dialect: 'pg';
|
|
602
|
+
}>;
|
|
603
|
+
declare const queueControlColumns: () => {
|
|
604
|
+
queue: import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, JobStore.QueueName>;
|
|
605
|
+
paused: import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBooleanBuilder>>;
|
|
606
|
+
};
|
|
708
607
|
/**
|
|
709
608
|
* Durable queue control flags (pause/resume).
|
|
710
609
|
*
|
|
711
610
|
* @since 0.2.0
|
|
712
611
|
*/
|
|
713
|
-
export declare const mqQueueControl: (tableName?: string) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
612
|
+
export declare const mqQueueControl: (tableName?: string, options?: MqTableOptions<ReturnType<typeof queueControlColumns>>) => import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
714
613
|
name: string;
|
|
715
614
|
schema: undefined;
|
|
716
615
|
columns: {
|
|
@@ -763,4 +662,9 @@ export type MqSchedulesTable = ReturnType<typeof mqSchedules>;
|
|
|
763
662
|
* @since 0.2.0
|
|
764
663
|
*/
|
|
765
664
|
export type MqQueueControlTable = ReturnType<typeof mqQueueControl>;
|
|
665
|
+
/**
|
|
666
|
+
* @since 0.3.0
|
|
667
|
+
*/
|
|
668
|
+
export type MqDedupeTable = ReturnType<typeof mqDedupe>;
|
|
669
|
+
export {};
|
|
766
670
|
//# sourceMappingURL=schema.d.ts.map
|