Class: HeartbeatConfig

ShardingMaster.ShardMasterConfig. HeartbeatConfig


new HeartbeatConfig()

Configuration for the Shard Master. This config will be updated during runtime if it is edited. Relevant settings may be sent to each shard during each initial setup. These settings are related to heartbeat and uptime management. This is included in ShardMasterConfig. This interval is also used to update shard configuration if necessary.
Source:

Members


assumeDeadAfter :number

The timeout after the master does not receive an update from the shard to assume the shard has died, and we can begin recovery procedures (milliseconds).
Type:
  • number
Default Value:
  • 300000
Source:

disperse :boolean

If relevant, should we attempt to disperse the heartbeat requests throughout the interval such that not all requests are made at the same time. This could cause statistics to not line up or be inconsistent.
Type:
  • boolean
Default Value:
  • true
Source:

expectRebootAfter :number

The timeout after the shard does not receive an update from the master to reboot. This is the threshold that once crossed, the master assumes the shard is rebooting or has otherwise lost connection, and stops sending reboot requests. The shard is not considered completely dead yet, and will not be replaced until after the assumeDeadAfter timeout.
Type:
  • number
Default Value:
  • 180000
Source:

historyLength :number

How far back to store shard status data for analysis (milliseconds).
Type:
  • number
Default Value:
  • 1 Days
Source:

interval :number

If relevant, this is the expected interval at which to send/receive updates about an individual shard's status in milliseconds.
Type:
  • number
Default Value:
  • 30000
Source:

requestRebootAfter :number

The timeout after not receiving a heartbeat from a shard to request that it reboots, in milliseconds.
Type:
  • number
Default Value:
  • 120000
Source:

updateStyle :string

The method used to update shard status. "pull" specifies that the master will attempt to pull the information from the shards at the configured interval. "push" specifies that the shards are expected to push their status to the master at the specified interval. "event" would only send updates from either side if one believes a state to have changed. NOTE: Only "pull" style is fully implemented currently.
Type:
  • string
Default Value:
  • pull
Source:

useMessageStats :boolean

If statistics about messages received from Discord should be used in the evaluation of a shard's alive state. This means, that if no messages are received from Discord between heartbeats, we can assume the shard is dead. This may not be feasible on smaller bots.
Type:
  • boolean
Source: