Packages

trait Worker extends Object with IEventEmitter

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

Annotations
@JSType() @native()
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Worker
  2. IEventEmitter
  3. Object
  4. Any
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addListener(eventName: String, listener: Function): Worker.this.type

    Alias for emitter.on(eventName, listener).

    Alias for emitter.on(eventName, listener).

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.addListener(eventName, listener)

    See also

    on()

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def disconnect(): Unit

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

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

    In the master, an internal message is sent to the worker causing it to call .disconnect() on itself. Causes .exitedAfterDisconnect to be set.

    Note that after a server is closed, it will no longer accept new connections, but connections may be accepted by any other listening worker. Existing connections will be allowed to close as usual. When no more connections exist, see server.close(), the IPC channel to the worker will close allowing it to die gracefully.

    The above applies only to server connections, client connections are not automatically closed by workers, and disconnect does not wait for them to close before exiting.

    Note that in a worker, process.disconnect exists, but it is not this function, it is disconnect.

    Because long living server connections may block workers from disconnecting, it may be useful to send a message, so application specific actions may be taken to close them. It also may be useful to implement a timeout, killing a worker if the 'disconnect' event has not been emitted after some time.

  8. val domain: Domain
    Definition Classes
    IEventEmitter
  9. def emit(name: String, args: Any*): Boolean

    Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    name

    the event name

    args

    the event arguments

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.emit(name[, arg1][, arg2][, ...])

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def eventNames(): Array[String]
    Definition Classes
    IEventEmitter
  13. def exitedAfterDisconnect: UndefOr[Boolean]

    Set by calling .kill() or .disconnect().

    Set by calling .kill() or .disconnect(). Until then, it is undefined.

    The boolean worker.exitedAfterDisconnect lets you distinguish between voluntary and accidental exit, the master may choose not to respawn a worker based on this value.

  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def getMaxListeners(): Int

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

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

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.getMaxListeners()

    See also

    setMaxListeners()

  17. def hasOwnProperty(v: String): Boolean
    Definition Classes
    Object
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def id: Int

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

    Each new worker is given its own unique id, this id is stored in the id. While a worker is alive, this is the key that indexes it in cluster.workers

  20. def isConnected(): Boolean

    This function returns true if the worker is connected to its master via its IPC channel, false otherwise.

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

  21. def isDead(): Boolean

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

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

  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def isPrototypeOf(v: Object): Boolean
    Definition Classes
    Object
  24. def kill(): Unit
  25. def kill(signal: String): Unit

    This function will kill the worker.

    This function will kill the worker. In the master, it does this by disconnecting the worker.process, and once disconnected, killing with signal. In the worker, it does it by disconnecting the channel, and then exiting with code 0.

    Causes .exitedAfterDisconnect to be set. This method is aliased as worker.destroy() for backwards compatibility.

    Note that in a worker, process.kill() exists, but it is not this function, it is kill.

    signal

    the name of the kill signal to send to the worker process.

    Example:
    1. kill([signal='SIGTERM'])

  26. def listenerCount(eventName: String): Int

    Returns the number of listeners listening to the event named eventName.

    Returns the number of listeners listening to the event named eventName.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.listenerCount(eventName)

  27. def listeners(eventName: String): Array[Function]

    Returns a copy of the array of listeners for the event named eventName.

    Returns a copy of the array of listeners for the event named eventName.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.listeners(eventName)

  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  31. def off(eventName: String, listner: Function): Worker.this.type
    Definition Classes
    IEventEmitter
  32. def on(eventName: String, listener: Function): Worker.this.type

    Adds the listener function to the end of the listeners array for the event named eventName.

    Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

    Returns a reference to the EventEmitter so calls can be chained.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.on(eventName, listener)

  33. def once(eventName: String, listener: Function): Worker.this.type

    Adds a one time listener function for the event named eventName.

    Adds a one time listener function for the event named eventName. This listener is invoked only the next time eventName is triggered, after which it is removed.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.once(eventName, listener)

  34. def prependListener(eventName: String, listener: Function): Worker.this.type
    Definition Classes
    IEventEmitter
  35. def prependOnceListener(eventName: String, listener: Function): Worker.this.type
    Definition Classes
    IEventEmitter
  36. def process: ChildProcess

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

    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.

    Note that workers will call process.exit(0) if the 'disconnect' event occurs on process and .exitedAfterDisconnect is not true. This protects against accidental disconnection.

  37. def propertyIsEnumerable(v: String): Boolean
    Definition Classes
    Object
  38. def rawListeners(eventName: String): Array[Function]
    Definition Classes
    IEventEmitter
  39. def removeAllListeners(): Worker.this.type
    Definition Classes
    IEventEmitter
  40. def removeAllListeners(eventName: String): Worker.this.type

    Removes all listeners, or those of the specified eventName.

    Removes all listeners, or those of the specified eventName.

    Note that it is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter so calls can be chained.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.removeAllListeners([eventName])

  41. def removeListener(eventName: String, listener: Function): Worker.this.type

    Removes the specified listener from the listener array for the event named eventName.

    Removes the specified listener from the listener array for the event named eventName. removeListener will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener must be called multiple times to remove each instance.

    Note that once an event has been emitted, all listeners attached to it at the time of emitting will be called in order. This implies that any removeListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them from emit() in progress. Subsequent events will behave as expected.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.removeListener(eventName, listener)

  42. def send(message: Message): Unit
  43. def send(message: Message, sendHandle: Handle): Unit
  44. def send(message: Message, callback: Function): Unit
  45. def send(message: Message, sendHandle: Handle, callback: Function): Unit

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

    Send a message to a worker or master, optionally with a handle. In the master this sends a message to a specific worker. It is identical to ChildProcess.send(). In a worker this sends a message to the master. It is identical to process.send().

    Example:
    1. worker.send(message[, sendHandle][, callback])

  46. def setMaxListeners(n: Int): Worker.this.type

    By default EventEmitters will print a warning if more than 10 listeners are added for a particular event.

    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. Obviously, not all events should be limited to just 10 listeners. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) for to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter so calls can be chained.

    Definition Classes
    IEventEmitter
    Example:
    1. emitter.setMaxListeners(n)

  47. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  48. def toLocaleString(): String
    Definition Classes
    Object
  49. def toString(): String
    Definition Classes
    AnyRef → Any
  50. def valueOf(): Any
    Definition Classes
    Object
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  53. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from IEventEmitter

Inherited from Object

Inherited from Any

Inherited from AnyRef

Inherited from Any

Ungrouped