Skip to content
This repository was archived by the owner on Sep 8, 2024. It is now read-only.

Conversation

forslund
Copy link
Collaborator

@forslund forslund commented Feb 25, 2020

Description

Fix a thread pool starvation issue when reporting metrics. Previously this was done in the emitter thread after a skill or subsystem had delivered their content to avoid slowing down the system. However massively parallell calls like the "mycroft.stop" message would starve the threadpool causing the upload time to limit the execution speed of these.

This also limits the number of listeners to the "mycroft.stop" message to those who actually implements a stop method.

How to test

Make sure the news skill is played correctly on this branch and make sure stop stops the playback as expected

Contributor license agreement signed?

CLA [ Yes ]

@devs-mycroft devs-mycroft added the CLA: Yes Contributor License Agreement exists (see https://github.com/MycroftAI/contributors) label Feb 25, 2020
@forslund forslund force-pushed the feature/timing-out-of-thread branch from a05fd53 to be80162 Compare February 25, 2020 16:12
Sets up a thread with a queue interface to handle the upload of timing
information to the backend.

Previously this was done in the emitter thread after a skill or
subsystem had delivered their content to avoid slowing down the system.
However massively parallell calls like the "mycroft.stop" message would
starve the threadpool casuing the upload time to limit the execution
speed of these.
@forslund forslund force-pushed the feature/timing-out-of-thread branch from be80162 to ef76f68 Compare February 26, 2020 06:26
@forslund forslund merged commit b7a53f6 into MycroftAI:dev Feb 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CLA: Yes Contributor License Agreement exists (see https://github.com/MycroftAI/contributors)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants