duron 0.1.0 → 0.2.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 +4 -4
- package/dist/adapters/postgres/base.d.ts +52 -0
- package/dist/adapters/postgres/base.d.ts.map +1 -0
- package/dist/adapters/postgres/base.js +832 -0
- package/dist/adapters/postgres/pglite.d.ts +10 -5
- package/dist/adapters/postgres/pglite.d.ts.map +1 -1
- package/dist/adapters/postgres/pglite.js +19 -7
- package/dist/adapters/postgres/postgres.d.ts +6 -39
- package/dist/adapters/postgres/postgres.d.ts.map +1 -1
- package/dist/adapters/postgres/postgres.js +9 -822
- package/dist/adapters/postgres/schema.d.ts +89 -135
- package/dist/adapters/postgres/schema.d.ts.map +1 -1
- package/dist/adapters/postgres/schema.default.d.ts +89 -135
- package/dist/adapters/postgres/schema.default.d.ts.map +1 -1
- package/dist/step-manager.js +1 -0
- package/migrations/postgres/20251203223656_conscious_johnny_blaze/migration.sql +64 -0
- package/migrations/postgres/20251203223656_conscious_johnny_blaze/snapshot.json +954 -0
- package/package.json +3 -3
- package/src/adapters/postgres/base.ts +1297 -0
- package/src/adapters/postgres/pglite.ts +36 -18
- package/src/adapters/postgres/postgres.ts +19 -1244
- package/src/step-manager.ts +1 -0
- package/migrations/postgres/0000_lethal_speed_demon.sql +0 -64
- package/migrations/postgres/meta/0000_snapshot.json +0 -606
- package/migrations/postgres/meta/_journal.json +0 -13
package/README.md
CHANGED
|
@@ -6,16 +6,16 @@ A powerful, type-safe job queue system for Node.js and Bun.js. Duron provides a
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# Using bun
|
|
9
|
-
bun add duron
|
|
9
|
+
bun add duron postgres drizzle-orm@beta
|
|
10
10
|
|
|
11
11
|
# Using npm
|
|
12
|
-
npm install duron
|
|
12
|
+
npm install duron postgres drizzle-orm@beta
|
|
13
13
|
|
|
14
14
|
# Using pnpm
|
|
15
|
-
pnpm add duron
|
|
15
|
+
pnpm add duron postgres drizzle-orm@beta
|
|
16
16
|
|
|
17
17
|
# Using yarn
|
|
18
|
-
yarn add duron
|
|
18
|
+
yarn add duron postgres drizzle-orm@beta
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Quick Start
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { PgDatabase } from 'drizzle-orm/pg-core';
|
|
2
|
+
import { Adapter, type CancelJobOptions, type CancelJobStepOptions, type CompleteJobOptions, type CompleteJobStepOptions, type CreateJobOptions, type CreateOrRecoverJobStepOptions, type CreateOrRecoverJobStepResult, type DelayJobStepOptions, type DeleteJobOptions, type DeleteJobsOptions, type FailJobOptions, type FailJobStepOptions, type FetchOptions, type GetActionsResult, type GetJobStepsOptions, type GetJobStepsResult, type GetJobsOptions, type GetJobsResult, type Job, type JobStatusResult, type JobStep, type JobStepStatusResult, type RecoverJobsOptions, type RetryJobOptions } from '../adapter.js';
|
|
3
|
+
import createSchema from './schema.js';
|
|
4
|
+
type Schema = ReturnType<typeof createSchema>;
|
|
5
|
+
export type { Job, JobStep } from '../adapter.js';
|
|
6
|
+
type DrizzleDatabase = PgDatabase<any, Schema>;
|
|
7
|
+
export interface AdapterOptions<Connection> {
|
|
8
|
+
connection: Connection;
|
|
9
|
+
schema?: string;
|
|
10
|
+
migrateOnStart?: boolean;
|
|
11
|
+
migrationsFolder?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class PostgresBaseAdapter<Database extends DrizzleDatabase, Connection> extends Adapter {
|
|
14
|
+
#private;
|
|
15
|
+
protected connection: Connection;
|
|
16
|
+
protected db: Database;
|
|
17
|
+
protected tables: Schema;
|
|
18
|
+
protected schema: string;
|
|
19
|
+
protected migrateOnStart: boolean;
|
|
20
|
+
constructor(options: AdapterOptions<Connection>);
|
|
21
|
+
protected _initDb(): void;
|
|
22
|
+
protected _start(): Promise<void>;
|
|
23
|
+
protected _stop(): Promise<void>;
|
|
24
|
+
protected _createJob({ queue, groupKey, input, timeoutMs, checksum, concurrencyLimit }: CreateJobOptions): Promise<string | null>;
|
|
25
|
+
protected _completeJob({ jobId, output }: CompleteJobOptions): Promise<boolean>;
|
|
26
|
+
protected _failJob({ jobId, error }: FailJobOptions): Promise<boolean>;
|
|
27
|
+
protected _cancelJob({ jobId }: CancelJobOptions): Promise<boolean>;
|
|
28
|
+
protected _retryJob({ jobId }: RetryJobOptions): Promise<string | null>;
|
|
29
|
+
protected _deleteJob({ jobId }: DeleteJobOptions): Promise<boolean>;
|
|
30
|
+
protected _deleteJobs(options?: DeleteJobsOptions): Promise<number>;
|
|
31
|
+
protected _fetch({ batch }: FetchOptions): Promise<any>;
|
|
32
|
+
protected _recoverJobs(options: RecoverJobsOptions): Promise<number>;
|
|
33
|
+
protected _createOrRecoverJobStep({ jobId, name, timeoutMs, retriesLimit, }: CreateOrRecoverJobStepOptions): Promise<CreateOrRecoverJobStepResult | null>;
|
|
34
|
+
protected _completeJobStep({ stepId, output }: CompleteJobStepOptions): Promise<boolean>;
|
|
35
|
+
protected _failJobStep({ stepId, error }: FailJobStepOptions): Promise<boolean>;
|
|
36
|
+
protected _delayJobStep({ stepId, delayMs, error }: DelayJobStepOptions): Promise<boolean>;
|
|
37
|
+
protected _cancelJobStep({ stepId }: CancelJobStepOptions): Promise<boolean>;
|
|
38
|
+
protected _getJobById(jobId: string): Promise<Job | null>;
|
|
39
|
+
protected _getJobSteps(options: GetJobStepsOptions): Promise<GetJobStepsResult>;
|
|
40
|
+
protected _buildJobsWhereClause(filters: GetJobsOptions['filters']): import("drizzle-orm").SQL<unknown> | undefined;
|
|
41
|
+
protected _getJobs(options?: GetJobsOptions): Promise<GetJobsResult>;
|
|
42
|
+
protected _getJobStepById(stepId: string): Promise<JobStep | null>;
|
|
43
|
+
protected _getJobStatus(jobId: string): Promise<JobStatusResult | null>;
|
|
44
|
+
protected _getJobStepStatus(stepId: string): Promise<JobStepStatusResult | null>;
|
|
45
|
+
protected _getActions(): Promise<GetActionsResult>;
|
|
46
|
+
protected _notify(_event: string, _data: any): Promise<void>;
|
|
47
|
+
protected _listen(_event: string, _callback: (payload: string) => void): Promise<{
|
|
48
|
+
unlisten: () => void;
|
|
49
|
+
}>;
|
|
50
|
+
protected _map(result: any): any;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/base.ts"],"names":[],"mappings":"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"}
|