Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fire on_booted after server starts #2431

Merged
merged 1 commit into from
Oct 16, 2020

Conversation

wjordan
Copy link
Contributor

@wjordan wjordan commented Oct 16, 2020

Description

This PR slightly changes the timing behavior of the on_booted event, ensuring that the event is only fired after the server is running (that is, after Server#run has been called), so server stats are guaranteed to be available when this event fires.

In cluster mode, this is when the first stats 'ping' has been received from all worker processes. The timing of the 'ping' has also been updated to send the first one immediately, instead of after Const::WORKER_CHECK_INTERVAL (default 5) seconds have passed.

Fixes #2212.

Your checklist for this pull request

  • I have reviewed the guidelines for contributing to this repository.
  • I have added an entry to History.md if this PR fixes a bug or adds a feature. If it doesn't need an entry to HISTORY.md, I have added [changelog skip] or [ci skip] to the pull request title.
  • I have added appropriate tests if this PR fixes a bug or adds a feature.
  • My pull request is 100 lines added/removed or less so that it can be easily reviewed.
  • If this PR doesn't need tests (docs change), I added [ci skip] to the title of the PR.
  • If this closes any issues, I have added "Closes #issue" to the PR description or my commit messages.
  • I have updated the documentation accordingly.
  • All new and existing tests passed, including Rubocop.

@@ -438,6 +438,10 @@ def run
when "p"
w.ping!(result.sub(/^\d+/,'').chomp)
@launcher.events.fire(:ping!, w)
if !booted && @workers.none? {|worker| worker.last_status.empty?}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this conditional kind of hurts my head but I don't have a better suggestion

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extract logic to helper method with clever name?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TestCLI#test_control failing with "pool_capacity": 0
3 participants