@icebro/actionhero
Version:
The reusable, scalable, and quick node.js API server for stateless and stateful applications
39 lines (38 loc) • 1.3 kB
TypeScript
import { Plugin } from "node-resque";
import * as TaskModule from "./../modules/task";
import { Initializer } from "../index";
import { Task } from "../classes/task";
export interface TaskApi {
tasks: {
[key: string]: Task;
};
jobs: {
[key: string]: any;
};
middleware: {
[key: string]: TaskModule.task.TaskMiddleware;
};
globalMiddleware: Array<string>;
loadFile?: TasksInitializer["loadFile"];
jobWrapper?: TasksInitializer["jobWrapper"];
loadTasks?: TasksInitializer["loadTasks"];
}
/**
* Tools for enqueuing and inspecting the task system (delayed jobs).
*/
export declare class TasksInitializer extends Initializer {
constructor();
loadFile: (fullFilePath: string, reload?: boolean) => Promise<void>;
jobWrapper: (taskName: string) => {
plugins: (string | (new (args: [worker: import("node-resque").Queue | import("node-resque").Worker, func: string, queue: string, job: import("node-resque").ParsedJob, args: any[], options: {
[key: string]: any;
}]) => Plugin))[];
pluginOptions: {
[key: string]: any;
};
perform: () => Promise<any>;
};
loadTasks: (reload: boolean) => Promise<void>;
initialize(): Promise<void>;
start(): Promise<void>;
}