Worker

external class Worker : EventEmitter(source)

A Worker object contains all public information and method about a worker. In the primary it can be obtained using cluster.workers. In a worker it can be obtained using cluster.worker.

Since

v0.7.0

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

This property is true if the worker exited due to .disconnect(). If the worker exited any other way, it is false. If the worker has not exited, it is undefined.

Link copied to clipboard
var id: Double

Each new worker is given its own unique id, this id is stored in the id.

Link copied to clipboard

All workers are created using child_process.fork(), the returned object from this function is stored as .process. In a worker, the global process is stored.

Functions

Link copied to clipboard
fun addListener(event: String, listener: Function<Unit>)

events.EventEmitter

fun addListener(event: WorkerEvent.DISCONNECT, listener: () -> Unit)
fun addListener(event: WorkerEvent.ERROR, listener: (JsError) -> Unit)
fun addListener(event: WorkerEvent.EXIT, listener: (code: Double, signal: String) -> Unit)
fun addListener(event: WorkerEvent.LISTENING, listener: (address: Address) -> Unit)
fun addListener(event: WorkerEvent.MESSAGE, listener: (message: Any?, handle: Any) -> Unit)
fun addListener(event: WorkerEvent.ONLINE, listener: () -> Unit)
Link copied to clipboard
fun destroy(signal: String = definedExternally)
Link copied to clipboard

In a worker, this function will close all servers, wait for the 'close' event on those servers, and then disconnect the IPC channel.

Link copied to clipboard
fun emit(event: Symbol, vararg args: Any?): Boolean
fun emit(event: String, vararg args: Any?): Boolean
fun emit(event: WorkerEvent.ERROR, error: JsError): Boolean
fun emit(event: WorkerEvent.LISTENING, address: Address): Boolean
fun emit(event: WorkerEvent.EXIT, code: Number, signal: String): Boolean
fun emit(event: WorkerEvent.MESSAGE, message: Any?, handle: Server): Boolean
fun emit(event: WorkerEvent.MESSAGE, message: Any?, handle: Socket): Boolean
Link copied to clipboard

Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

Link copied to clipboard

Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to {@link defaultMaxListeners}.

Link copied to clipboard

This function returns true if the worker is connected to its primary via its IPC channel, false otherwise. A worker is connected to its primary after it has been created. It is disconnected after the 'disconnect' event is emitted.

Link copied to clipboard

This function returns true if the worker's process has terminated (either because of exiting or being signaled). Otherwise, it returns false.

Link copied to clipboard
fun kill(signal: String = definedExternally)

This function will kill the worker. In the primary worker, it does this by disconnecting the worker.process, and once disconnected, killing with signal. In the worker, it does it by killing the process with signal.

Link copied to clipboard
fun on(event: String, listener: Function<Unit>)
fun on(event: WorkerEvent.DISCONNECT, listener: () -> Unit)
fun on(event: WorkerEvent.ERROR, listener: (JsError) -> Unit)
fun on(event: WorkerEvent.EXIT, listener: (code: Double, signal: String) -> Unit)
fun on(event: WorkerEvent.LISTENING, listener: (address: Address) -> Unit)
fun on(event: WorkerEvent.MESSAGE, listener: (message: Any?, handle: Any) -> Unit)
fun on(event: WorkerEvent.ONLINE, listener: () -> Unit)
Link copied to clipboard
fun once(event: String, listener: Function<Unit>)
fun once(event: WorkerEvent.DISCONNECT, listener: () -> Unit)
fun once(event: WorkerEvent.ERROR, listener: (JsError) -> Unit)
fun once(event: WorkerEvent.EXIT, listener: (code: Double, signal: String) -> Unit)
fun once(event: WorkerEvent.LISTENING, listener: (address: Address) -> Unit)
fun once(event: WorkerEvent.MESSAGE, listener: (message: Any?, handle: Any) -> Unit)
fun once(event: WorkerEvent.ONLINE, listener: () -> Unit)
Link copied to clipboard
fun prependListener(event: String, listener: Function<Unit>)
fun prependListener(event: WorkerEvent.DISCONNECT, listener: () -> Unit)
fun prependListener(event: WorkerEvent.ERROR, listener: (JsError) -> Unit)
fun prependListener(event: WorkerEvent.EXIT, listener: (code: Double, signal: String) -> Unit)
fun prependListener(event: WorkerEvent.LISTENING, listener: (address: Address) -> Unit)
fun prependListener(event: WorkerEvent.MESSAGE, listener: (message: Any?, handle: Any) -> Unit)
fun prependListener(event: WorkerEvent.ONLINE, listener: () -> Unit)
Link copied to clipboard
fun prependOnceListener(event: String, listener: Function<Unit>)
fun prependOnceListener(event: WorkerEvent.DISCONNECT, listener: () -> Unit)
fun prependOnceListener(event: WorkerEvent.EXIT, listener: (code: Double, signal: String) -> Unit)
fun prependOnceListener(event: WorkerEvent.LISTENING, listener: (address: Address) -> Unit)
fun prependOnceListener(event: WorkerEvent.MESSAGE, listener: (message: Any?, handle: Any) -> Unit)
fun prependOnceListener(event: WorkerEvent.ONLINE, listener: () -> Unit)
Link copied to clipboard
fun send(message: Serializable, callback: (JsError?) -> Unit = definedExternally): Boolean

Send a message to a worker or primary, optionally with a handle.

fun send(message: Serializable, sendHandle: SendHandle, callback: (JsError?) -> Unit = definedExternally): Boolean
fun send(message: Serializable, sendHandle: SendHandle, options: MessageOptions = definedExternally, callback: (JsError?) -> Unit = definedExternally): Boolean
Link copied to clipboard

By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.