Trait

io.scalajs.nodejs.cluster

Worker

Related Doc: package cluster

Permalink

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
@RawJSType() @native()
Linear Supertypes
IEventEmitter, Object, Any, AnyRef, Any
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. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addListener(eventName: String, listener: Function): Worker.this.type

    Permalink

    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

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def disconnect(): Unit

    Permalink

    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. var domain: String

    Permalink
    Definition Classes
    IEventEmitter
  9. def emit(name: String, args: Any*): Any

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def exitedAfterDisconnect: Boolean

    Permalink

    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.

  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def getMaxListeners(): Int

    Permalink

    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()

  16. def hasOwnProperty(v: String): Boolean

    Permalink
    Definition Classes
    Object
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. def id: Integer

    Permalink

    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

  19. def isConnected(): Boolean

    Permalink

    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.

  20. def isDead(): Boolean

    Permalink

    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.

  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. def isPrototypeOf(v: Object): Boolean

    Permalink
    Definition Classes
    Object
  23. def kill(signal: String = null): Unit

    Permalink

    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'])

  24. def listenerCount(eventName: String): Int

    Permalink

    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)

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

    Permalink

    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)

  26. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. def on(eventName: String, listener: Function): Worker.this.type

    Permalink

    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)

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

    Permalink

    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)

  31. def process: Process

    Permalink

    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.

  32. def propertyIsEnumerable(v: String): Boolean

    Permalink
    Definition Classes
    Object
  33. def removeAllListeners(): Worker.this.type

    Permalink

    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])

  34. def removeAllListeners(eventName: String): Worker.this.type

    Permalink

    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])

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

    Permalink

    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)

  36. def send(message: Message): Unit

    Permalink

    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])

  37. def send(message: Message, callback: Function): Unit

    Permalink

    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])

  38. def send(message: Message, sendHandle: Function, callback: Function): Unit

    Permalink

    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])

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

    Permalink

    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)

  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  41. def toLocaleString(): String

    Permalink
    Definition Classes
    Object
  42. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  43. var usingDomains: Boolean

    Permalink
    Definition Classes
    IEventEmitter
  44. def valueOf(): Any

    Permalink
    Definition Classes
    Object
  45. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def suicide: Boolean

    Permalink

    An alias to worker.exitedAfterDisconnect.

    An alias to worker.exitedAfterDisconnect.

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

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

    Annotations
    @deprecated
    Deprecated

    (Since version 6.0.0) Deprecated: Use worker.exitedAfterDisconnect instead.

Inherited from IEventEmitter

Inherited from Object

Inherited from Any

Inherited from AnyRef

Inherited from Any

Ungrouped