mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-26 19:04:13 +08:00
add result to job and process done callback.
https://github.com/Automattic/kue/blob/master/lib/queue/job.js#L205 https://github.com/Automattic/kue/blob/master/lib/queue/worker.js#L181
This commit is contained in:
6
types/kue/index.d.ts
vendored
6
types/kue/index.d.ts
vendored
@@ -30,7 +30,7 @@ export declare class Queue extends events.EventEmitter {
|
||||
checkActiveJobTtl(ttlOptions: Object): void;
|
||||
watchStuckJobs(ms: number): void;
|
||||
setting(name: string, fn: Function): Queue;
|
||||
process(type: string, n?: number | Function, fn?: Function): void;
|
||||
process(type: string, n?: number | DoneCallback, fn?: DoneCallback): void;
|
||||
shutdown(timeout: number, type: string, fn: Function): Queue;
|
||||
types(fn: Function): Queue;
|
||||
state(string: string, fn: Function): Queue;
|
||||
@@ -57,10 +57,13 @@ interface Priorities {
|
||||
critical: number;
|
||||
}
|
||||
|
||||
export type DoneCallback = (err?: any, result?: any) => void;
|
||||
|
||||
export declare class Job extends events.EventEmitter {
|
||||
public id: number;
|
||||
public type: string;
|
||||
public data: any;
|
||||
public result: any;
|
||||
public client: redisClientFactory.RedisClient;
|
||||
private _max_attempts;
|
||||
|
||||
@@ -80,6 +83,7 @@ export declare class Job extends events.EventEmitter {
|
||||
log(str: string): Job;
|
||||
set(key: string, val: string, fn?: Function): Job;
|
||||
get(key: string, fn?: Function): Job;
|
||||
get(key: string, jobType: string, fn?: Function): Job;
|
||||
progress(complete: number, total: number, data?: any): Job;
|
||||
delay(ms: number | Date): Job;
|
||||
removeOnComplete(param: any): Job;
|
||||
|
||||
@@ -46,16 +46,16 @@ create();
|
||||
|
||||
// process video conversion jobs, 1 at a time.
|
||||
|
||||
var processCb = function(job: kue.Job, done: Function) {
|
||||
var processCb = function(job: kue.Job, done: kue.DoneCallback) {
|
||||
var frames: number = job.data.frames;
|
||||
|
||||
function next(i: number) {
|
||||
// pretend we are doing some work
|
||||
convertFrame(i, function(err: Error) {
|
||||
convertFrame(i, function(err: Error, result: any) {
|
||||
if (err) return done(err);
|
||||
// report progress, i/frames complete
|
||||
job.progress(i, frames);
|
||||
if (i >= frames) done();
|
||||
if (i >= frames) done(null, result);
|
||||
else next(i + Math.random() * 10);
|
||||
} );
|
||||
}
|
||||
@@ -67,7 +67,7 @@ jobs.process('video conversion', 1, processCb);
|
||||
jobs.process('video conversion', processCb);
|
||||
|
||||
function convertFrame(i: number, fn: Function) {
|
||||
setTimeout(fn, Math.random() * 50);
|
||||
setTimeout(() => fn(null, Math.random()), Math.random() * 50);
|
||||
}
|
||||
|
||||
// one minute
|
||||
|
||||
Reference in New Issue
Block a user