123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- declare module "cluster" {
- import * as child from "child_process";
- import * as events from "events";
- import * as net from "net";
-
- // interfaces
- interface ClusterSettings {
- execArgv?: string[]; // default: process.execArgv
- exec?: string;
- args?: string[];
- silent?: boolean;
- stdio?: any[];
- uid?: number;
- gid?: number;
- inspectPort?: number | (() => number);
- }
-
- interface Address {
- address: string;
- port: number;
- addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6"
- }
-
- class Worker extends events.EventEmitter {
- id: number;
- process: child.ChildProcess;
- send(message: any, sendHandle?: any, callback?: (error: Error | null) => void): boolean;
- kill(signal?: string): void;
- destroy(signal?: string): void;
- disconnect(): void;
- isConnected(): boolean;
- isDead(): boolean;
- exitedAfterDisconnect: boolean;
-
- /**
- * events.EventEmitter
- * 1. disconnect
- * 2. error
- * 3. exit
- * 4. listening
- * 5. message
- * 6. online
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "disconnect", listener: () => void): this;
- addListener(event: "error", listener: (error: Error) => void): this;
- addListener(event: "exit", listener: (code: number, signal: string) => void): this;
- addListener(event: "listening", listener: (address: Address) => void): this;
- addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- addListener(event: "online", listener: () => void): this;
-
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "disconnect"): boolean;
- emit(event: "error", error: Error): boolean;
- emit(event: "exit", code: number, signal: string): boolean;
- emit(event: "listening", address: Address): boolean;
- emit(event: "message", message: any, handle: net.Socket | net.Server): boolean;
- emit(event: "online"): boolean;
-
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "disconnect", listener: () => void): this;
- on(event: "error", listener: (error: Error) => void): this;
- on(event: "exit", listener: (code: number, signal: string) => void): this;
- on(event: "listening", listener: (address: Address) => void): this;
- on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- on(event: "online", listener: () => void): this;
-
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "disconnect", listener: () => void): this;
- once(event: "error", listener: (error: Error) => void): this;
- once(event: "exit", listener: (code: number, signal: string) => void): this;
- once(event: "listening", listener: (address: Address) => void): this;
- once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- once(event: "online", listener: () => void): this;
-
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "disconnect", listener: () => void): this;
- prependListener(event: "error", listener: (error: Error) => void): this;
- prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
- prependListener(event: "listening", listener: (address: Address) => void): this;
- prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- prependListener(event: "online", listener: () => void): this;
-
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "disconnect", listener: () => void): this;
- prependOnceListener(event: "error", listener: (error: Error) => void): this;
- prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
- prependOnceListener(event: "listening", listener: (address: Address) => void): this;
- prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- prependOnceListener(event: "online", listener: () => void): this;
- }
-
- interface Cluster extends events.EventEmitter {
- Worker: Worker;
- disconnect(callback?: () => void): void;
- fork(env?: any): Worker;
- isMaster: boolean;
- isWorker: boolean;
- // TODO: cluster.schedulingPolicy
- settings: ClusterSettings;
- setupMaster(settings?: ClusterSettings): void;
- worker?: Worker;
- workers?: {
- [index: string]: Worker | undefined
- };
-
- /**
- * events.EventEmitter
- * 1. disconnect
- * 2. exit
- * 3. fork
- * 4. listening
- * 5. message
- * 6. online
- * 7. setup
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "disconnect", listener: (worker: Worker) => void): this;
- addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- addListener(event: "fork", listener: (worker: Worker) => void): this;
- addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- addListener(event: "online", listener: (worker: Worker) => void): this;
- addListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
-
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "disconnect", worker: Worker): boolean;
- emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
- emit(event: "fork", worker: Worker): boolean;
- emit(event: "listening", worker: Worker, address: Address): boolean;
- emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
- emit(event: "online", worker: Worker): boolean;
- emit(event: "setup", settings: ClusterSettings): boolean;
-
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "disconnect", listener: (worker: Worker) => void): this;
- on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- on(event: "fork", listener: (worker: Worker) => void): this;
- on(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- on(event: "online", listener: (worker: Worker) => void): this;
- on(event: "setup", listener: (settings: ClusterSettings) => void): this;
-
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "disconnect", listener: (worker: Worker) => void): this;
- once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- once(event: "fork", listener: (worker: Worker) => void): this;
- once(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- once(event: "online", listener: (worker: Worker) => void): this;
- once(event: "setup", listener: (settings: ClusterSettings) => void): this;
-
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "disconnect", listener: (worker: Worker) => void): this;
- prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- prependListener(event: "fork", listener: (worker: Worker) => void): this;
- prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
- prependListener(event: "online", listener: (worker: Worker) => void): this;
- prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
-
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this;
- prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
- prependOnceListener(event: "fork", listener: (worker: Worker) => void): this;
- prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
- // the handle is a net.Socket or net.Server object, or undefined.
- prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
- prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
- prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
- }
-
- function disconnect(callback?: () => void): void;
- function fork(env?: any): Worker;
- const isMaster: boolean;
- const isWorker: boolean;
- // TODO: cluster.schedulingPolicy
- const settings: ClusterSettings;
- function setupMaster(settings?: ClusterSettings): void;
- const worker: Worker;
- const workers: {
- [index: string]: Worker | undefined
- };
-
- /**
- * events.EventEmitter
- * 1. disconnect
- * 2. exit
- * 3. fork
- * 4. listening
- * 5. message
- * 6. online
- * 7. setup
- */
- function addListener(event: string, listener: (...args: any[]) => void): Cluster;
- function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
- function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
- function addListener(event: "fork", listener: (worker: Worker) => void): Cluster;
- function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
- // the handle is a net.Socket or net.Server object, or undefined.
- function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
- function addListener(event: "online", listener: (worker: Worker) => void): Cluster;
- function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
-
- function emit(event: string | symbol, ...args: any[]): boolean;
- function emit(event: "disconnect", worker: Worker): boolean;
- function emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
- function emit(event: "fork", worker: Worker): boolean;
- function emit(event: "listening", worker: Worker, address: Address): boolean;
- function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
- function emit(event: "online", worker: Worker): boolean;
- function emit(event: "setup", settings: ClusterSettings): boolean;
-
- function on(event: string, listener: (...args: any[]) => void): Cluster;
- function on(event: "disconnect", listener: (worker: Worker) => void): Cluster;
- function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
- function on(event: "fork", listener: (worker: Worker) => void): Cluster;
- function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
- function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined.
- function on(event: "online", listener: (worker: Worker) => void): Cluster;
- function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
-
- function once(event: string, listener: (...args: any[]) => void): Cluster;
- function once(event: "disconnect", listener: (worker: Worker) => void): Cluster;
- function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
- function once(event: "fork", listener: (worker: Worker) => void): Cluster;
- function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
- function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined.
- function once(event: "online", listener: (worker: Worker) => void): Cluster;
- function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
-
- function removeListener(event: string, listener: (...args: any[]) => void): Cluster;
- function removeAllListeners(event?: string): Cluster;
- function setMaxListeners(n: number): Cluster;
- function getMaxListeners(): number;
- function listeners(event: string): Function[];
- function listenerCount(type: string): number;
-
- function prependListener(event: string, listener: (...args: any[]) => void): Cluster;
- function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
- function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
- function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster;
- function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
- // the handle is a net.Socket or net.Server object, or undefined.
- function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
- function prependListener(event: "online", listener: (worker: Worker) => void): Cluster;
- function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
-
- function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster;
- function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
- function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
- function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster;
- function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
- // the handle is a net.Socket or net.Server object, or undefined.
- function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
- function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster;
- function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
-
- function eventNames(): string[];
- }
|