added definition for rsmq-worker

http://smrchy.github.io/rsmq/rsmq-worker/
This commit is contained in:
MugeSo
2015-08-14 10:27:01 +09:00
parent 8ed65c4577
commit 3e4e94bf48
3 changed files with 87 additions and 11 deletions
+21
View File
@@ -0,0 +1,21 @@
import RSMQWorker = require('rsmq-worker');
var worker = new RSMQWorker("my-queue");
worker.changeInterval(1);
worker.changeInterval([0, 1, 5, 10]);
worker.on('message', (message: RedisSMQ.Message, next: Function) => {
console.log('received message: "' + message.message + "'");
next();
});
worker.start();
worker.send('message1');
worker.send('message2', 1, (e: Error, id:string) => {
worker.del(id);
});
worker.send('message3', () => {});
worker.stop();
+52
View File
@@ -0,0 +1,52 @@
// Type definitions for rsmq-worker 0.3.5
// Project: http://smrchy.github.io/rsmq/rsmq-worker/
// Definitions by: Qubo <https://github.com/MugeSo>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path='../rsmq/rsmq.d.ts'/>
declare module "rsmq-worker" {
import redis = require('redis');
import events = require('events');
interface CallbackT<R> {
(e?:Error, res?:R): void;
}
interface RSMQWorkerStatic {
new(queuename: string, options?: WorkerOptions): RSMQWorker;
}
interface WorkerOptions {
interval?: number;
maxReceiveCount?: number;
invisibletime?: number;
defaultDelay?: number;
autostart?: boolean;
timeout: number;
customExceedCheck?: CustomExceedCheckCallback;
rsmq?: RedisSMQ.Client;
redis?: redis.RedisClient;
redisPrefix?: string;
host?: string;
port?: number;
options?: redis.ClientOpts;
}
interface CustomExceedCheckCallback {
(message: RedisSMQ.Message): boolean;
}
interface RSMQWorker extends events.EventEmitter {
start(): RSMQWorker;
stop(): RSMQWorker;
send(message: string, delay?: number, cb?: CallbackT<string>): RSMQWorker;
send(message: string, cb: CallbackT<string>): RSMQWorker;
del(id: string, cb?: CallbackT<void>): RSMQWorker;
changeInterval(interval: number|number[]): RSMQWorker;
}
var worker: RSMQWorkerStatic;
export = worker;
}