pdmq
Version:
79 lines (78 loc) • 1.58 kB
TypeScript
import { PDMQTask } from './../interfaces/task.interface';
import { PDMQInitialOptions } from "../interfaces/initial-options.interface";
import { Subject } from "rxjs";
export declare class PDMQConsumer {
private InitialOptions;
taskQueue: Subject<PDMQTask>;
private redisClient;
private redisService;
private taskService;
private consumerIdentity;
private selectedObserver;
private instanceId;
constructor(InitialOptions: PDMQInitialOptions);
/**
* Initial Client and Consumer
*/
private init;
/**
* Disconnect Redis
*
* @returns {void}
*/
disconnect(): boolean;
/**
* Rotate Expired Tasks
*
* @returns {void}
*/
lookupExpiredTasks(): Promise<void>;
/**
* Delete All Tasks
*/
clean(): Promise<void>;
/**
* Rotate Task
*
* @param task
* @returns {PDMQTask}
*/
rotateTask(task: PDMQTask): Promise<void>;
/**
* Run Instant Task
*
* @returns {void}
*/
private processInstantTask;
/**
* Log Consumer
*/
private logConsumer;
/**
* Lookup Tasks
*
* @returns {void}
*/
private lookup;
/**
* Handle Task Failure
*
* @param task PDMQ Task
*/
handleTaskFailure(task: PDMQTask): Promise<void>;
/**
* Add Task
*
* @param task
* @returns {PDMQTask}
*/
private addTask;
/**
*
* Format task callback
*
* @param task
* @returns
*/
private formatTaskCallback;
}