mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-06 15:57:13 +00:00
Merge pull request #30196 from chrolivier/arangodb_foxx_queues
Added Arangodb Foxx Queues typings
This commit is contained in:
Vendored
+75
@@ -1440,6 +1440,81 @@ declare module "@arangodb/foxx/router" {
|
||||
export = createRouter;
|
||||
}
|
||||
|
||||
declare module "@arangodb/foxx/queues" {
|
||||
interface QueueItem {
|
||||
name: string;
|
||||
mount: string;
|
||||
backOff?: ((failureCount: number) => number) | number;
|
||||
maxFailures?: number;
|
||||
schema?: Foxx.Schema;
|
||||
preprocess?: (data: any) => any;
|
||||
}
|
||||
|
||||
interface Script {
|
||||
name: string;
|
||||
mount: string;
|
||||
}
|
||||
|
||||
type JobCallback = (result: any, jobData: any, job: ArangoDB.Document<Job>) => void;
|
||||
|
||||
interface Job {
|
||||
status: string;
|
||||
queue: string;
|
||||
type: Script;
|
||||
failures: object[];
|
||||
runs: number;
|
||||
data: any;
|
||||
created: number;
|
||||
modified: number;
|
||||
delayUntil: number;
|
||||
maxFailures: number;
|
||||
repeatDelay: number;
|
||||
repeatTimes: number;
|
||||
repeatUntil: number;
|
||||
success?: string;
|
||||
failure?: string;
|
||||
runFailures: number;
|
||||
abort(): void;
|
||||
}
|
||||
|
||||
interface JobOptions {
|
||||
success?: JobCallback;
|
||||
failure?: JobCallback;
|
||||
delayUntil?: number | Date;
|
||||
backOff?: ((failureCount: number) => number) | number;
|
||||
maxFailures?: number;
|
||||
repeatTimes?: number;
|
||||
repeatUntil?: number | Date;
|
||||
repeatDelay?: number;
|
||||
}
|
||||
|
||||
interface Queue {
|
||||
push(item: QueueItem, data: any, opts?: JobOptions): void;
|
||||
get(jobId: string): ArangoDB.Document<Job>;
|
||||
delete(jobId: string): boolean;
|
||||
pending(script?: Script): string[];
|
||||
progress(script?: Script): string[];
|
||||
complete(script?: Script): string[];
|
||||
failed(script?: Script): string[];
|
||||
all(script?: Script): string[];
|
||||
}
|
||||
|
||||
function createQueue(name: string, maxWorkers?: number): Queue;
|
||||
function deleteQueue(name: string): boolean;
|
||||
function get(name: string): Queue;
|
||||
|
||||
export {
|
||||
createQueue as create,
|
||||
deleteQueue as delete,
|
||||
get,
|
||||
JobOptions,
|
||||
Job,
|
||||
Queue,
|
||||
QueueItem,
|
||||
Script,
|
||||
};
|
||||
}
|
||||
|
||||
declare module "@arangodb/foxx/graphql" {
|
||||
import { formatError, GraphQLSchema } from "graphql";
|
||||
type GraphQLModule = object;
|
||||
|
||||
Reference in New Issue
Block a user