Trait/Object

io.scalajs.nodejs.cluster

Cluster

Related Docs: object Cluster | package cluster

Permalink

trait Cluster extends Object with IEventEmitter

A single instance of Node.js runs in a single thread. To take advantage of multi-core systems the user will sometimes want to launch a cluster of Node.js processes to handle the load.

The cluster module allows you to easily create child processes that all share server ports.

Annotations
@RawJSType() @native()
Linear Supertypes
IEventEmitter, Object, Any, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Cluster
  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. val SCHED_NONE: Int

    Permalink
  5. val SCHED_RR: Int

    Permalink
  6. def addListener(eventName: String, listener: Function): Cluster.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()

  7. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def disconnect(callback: Function = null): Unit

    Permalink

    When they are disconnected all internal handles will be closed, allowing the master process to die gracefully if no other event is waiting.

    When they are disconnected all internal handles will be closed, allowing the master process to die gracefully if no other event is waiting.

    The method takes an optional callback argument which will be called when finished.

    This can only be called from the master process.

    Example:
    1. cluster.disconnect([callback])

  10. var domain: String

    Permalink
    Definition Classes
    IEventEmitter
  11. 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][, ...])

  12. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def fork(env: Any = null): Worker

    Permalink

    Spawn a new worker process.

    Spawn a new worker process. This can only be called from the master process.

    returns

    a new worker

    Example:
    1. cluster.fork([env])

  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. 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()

  18. def hasOwnProperty(v: String): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. def isMaster: Boolean

    Permalink

    True if the process is a master.

    True if the process is a master. This is determined by the process.env.NODE_UNIQUE_ID. If process.env.NODE_UNIQUE_ID is undefined, then isMaster is true.

  22. def isPrototypeOf(v: Object): Boolean

    Permalink
    Definition Classes
    Object
  23. def isWorker: Boolean

    Permalink

    True if the process is not a master (it is the negation of cluster.isMaster).

  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): Cluster.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): Cluster.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 propertyIsEnumerable(v: String): Boolean

    Permalink
    Definition Classes
    Object
  32. def removeAllListeners(): Cluster.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])

  33. def removeAllListeners(eventName: String): Cluster.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 removeListener(eventName: String, listener: Function): Cluster.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)

  35. def schedulingPolicy: Int

    Permalink

    The scheduling policy, either cluster.SCHED_RR for round-robin or cluster.SCHED_NONE to leave it to the operating system.

    The scheduling policy, either cluster.SCHED_RR for round-robin or cluster.SCHED_NONE to leave it to the operating system. This is a global setting and effectively frozen once you spawn the first worker or call cluster.setupMaster(), whatever comes first.

    SCHED_RR is the default on all operating systems except Windows. Windows will change to SCHED_RR once libuv is able to effectively distribute IOCP handles without incurring a large performance hit.

    cluster.schedulingPolicy can also be set through the NODE_CLUSTER_SCHED_POLICY environment variable. Valid values are "rr" and "none".

  36. def setMaxListeners(n: Int): Cluster.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)

  37. def settings: ClusterSettings

    Permalink

    After calling .setupMaster() (or .fork()) this settings object will contain the settings, including the default values.

    After calling .setupMaster() (or .fork()) this settings object will contain the settings, including the default values. It is effectively frozen after being set, because .setupMaster() can only be called once. This object is not supposed to be changed or set manually, by you.

  38. def setupMaster(settings: ClusterSettings): Unit

    Permalink

    setupMaster is used to change the default 'fork' behavior.

    setupMaster is used to change the default 'fork' behavior. Once called, the settings will be present in cluster.settings. Note that:

    • any settings changes only affect future calls to .fork() and have no effect on workers that are already running
    • The only attribute of a worker that cannot be set via .setupMaster() is the env passed to .fork()
    • the defaults above apply to the first call only, the defaults for later calls is the current value at the time of cluster.setupMaster() is called
    Example:
    1. cluster.setupMaster([settings])

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. def worker: Worker

    Permalink

    A reference to the current worker object.

    A reference to the current worker object. Not available in the master process.

  48. def workers: Dictionary[Worker]

    Permalink

    A hash that stores the active worker objects, keyed by id field.

    A hash that stores the active worker objects, keyed by id field. Makes it easy to loop through all the workers. It is only available in the master process.

    A worker is removed from cluster.workers after the worker has disconnected and exited. The order between these two events cannot be determined in advance. However, it is guaranteed that the removal from the cluster.workers list happens before last 'disconnect' or 'exit' event is emitted.

Inherited from IEventEmitter

Inherited from Object

Inherited from Any

Inherited from AnyRef

Inherited from Any

Ungrouped