-
Notifications
You must be signed in to change notification settings - Fork 315
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
Concurrent Services #1973
Comments
This is a pre-requisite of #2680 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We value your input and contribution. Please leave a comment if this issue still affects you. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We value your input and contribution. Please leave a comment if this issue still affects you. |
This issue has been automatically closed after being stale for 400 days. We still value your input and contribution. Please re-open the issue if desired and leave a comment with details. |
The main thread of the supervisor currently "schedules" time to each service by allowing each service to "tick" on every server tick. This is a great first step to moving logic for servicing a service to the Service struct itself, but we now run the risk of blocking execution of other services if a service tick runs for a longer than usual period of time and, in a worst case, indefinitely blocking execution.
A service "tick" includes operations for running external code in the form of hooks and this is where the potential for blocking execution lies. We need to refactor the Manager and Service relationship so the Service executes from within it's own thread and receives information from the Manager when it's ready over a channel. Making this change may also require some refactorings to the way the http-gateway reads information about services.
This refactor is a requirement for backgrounding long running hooks (ie. Smoke Test hook)
The text was updated successfully, but these errors were encountered: