Skip to content

Instantly share code, notes, and snippets.

@kakajika
Created July 1, 2015 16:57
Show Gist options
  • Save kakajika/2d9e53efdd78e362a492 to your computer and use it in GitHub Desktop.
Save kakajika/2d9e53efdd78e362a492 to your computer and use it in GitHub Desktop.
Type definition file for kue [Priority job queue for node.js]
// kue.d.ts
///<reference path='../node/node.d.ts' />
declare module "kue" {
import http = require('http');
export var app: http.Server;
export var createQueue: (opts?: {redis?: any}) => Kue.Queue;
}
declare module Kue {
interface Queue {
process(type: string, process: (job: Job, ctx: WorkerCtx, done: Function) => any): void;
process(type: string, process: (job: Job, done: Function) => any): void;
process(type: string, maxConcurrent: number, process: (job: Job, ctx: WorkerCtx, done: Function) => any): void;
process(type: string, maxConcurrent: number, process: (job: Job, done: Function) => any): void;
create(type: string, opts: Object): Job;
}
interface Job {
data: any;
save(listener?: (error: any) => void): Job;
priority(type: string): Job;
attempts(count: number): Job;
backoff(enabled: boolean): Job;
delay(time: number): Job;
removeOnComplete(enabled: boolean): Job;
on(event: 'enqueue', listener: Function): Job;
on(event: 'promotion', listener: Function): Job;
on(event: 'progress', listener: Function): Job;
on(event: 'failed attempt', listener: Function): Job;
on(event: 'failed', listener: Function): Job;
on(event: 'complete', listener: Function): Job;
on(event: string, listener: Function): Job;
}
interface Worker {
}
interface WorkerCtx {
pause(timeout: number, listener: (error?: any) => void): void;
resume(): void;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment