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 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":"AACA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAa/D,OAAO,EACL,OAAO,EACP,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,GAAG,EAER,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,YAAY,MAAM,aAAa,CAAA;AAEtC,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAG7C,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEjD,KAAK,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAE9C,MAAM,WAAW,cAAc,CAAC,UAAU;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,qBAAa,mBAAmB,CAAC,QAAQ,SAAS,eAAe,EAAE,UAAU,CAAE,SAAQ,OAAO;;IAC5F,SAAS,CAAC,UAAU,EAAE,UAAU,CAAA;IAChC,SAAS,CAAC,EAAE,EAAG,QAAQ,CAAA;IACvB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAU;IAClC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAO;gBAW5B,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;IAe/C,SAAS,CAAC,OAAO;cAcD,MAAM;cAqBN,KAAK;cAaL,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,gBAAgB;cA0B9F,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,kBAAkB;cA0BlD,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc;cAyBzC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB;cAwBtC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;cAsF7D,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;cAoBzD,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;cAkBzD,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY;cAwH9B,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;cAqF1D,uBAAuB,CAAC,EACtC,KAAK,EACL,IAAI,EACJ,SAAS,EACT,YAAY,GACb,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC;cAsG/D,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,sBAAsB;cA4B3D,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,kBAAkB;cA2BlD,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB;cAsC7D,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB;cA+B/C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;cA8B/C,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgErF,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC;cAiFlD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;cA4E1D,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;cA8BxD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;cAgB7D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;cAgBtE,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;cA2JxC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAWlD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAgBhH,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;CAG3B"}