-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
New subsystem API #221
New subsystem API #221
Conversation
This is meant as an Idle event? Could it be an event that's triggered not through the |
Idle implies "when the queue is empty" |
That's the question in the beginning, is it better as an idle event or as simply a timing event in between? It needs to be |
I guess, as a followup, it doesn't have to be the way it is now, but that's. . . at least two steps forward in the process. This work gets the heartbeat working and updates Failer to use the thing. The next step would be removing activate and updating the rest of the systems. From there, we can change how publish works and move the pop into the main loop, and let it publish all before the next heartbeat. So. . . summary: This is the first (workable) step of a series:
Theoretically, we can break it up further, but I think this is the right amount of breaking up to be able to properly test things in the interim. |
I think this one is good for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you remove ppb/features/__init__.py
? It's not necessary and I'm handling that in the animation PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
bors r+ |
221: New subsystem API r=astronouth7303 a=pathunstrom So, doing what I discussed in the slack: Removing activate, adding a heartbeat event. Need to decide if we heartbeat between each publish, or we clear the queue between each heartbeat. If we do the former, we're going to start seeing scheduling silliness, but that just comes from asynchronous design. If we do the latter, it's easier to make events happen in a sequence, but still going to have some of the asynchronous silliness because, well, we're technically async. - [x] Add heartbeat, switch the test utilities to use a heartbeat system. - [x] Remove activate, switch remaining systems to use heartbeat system. - [x] Clean up the main loop to reduce the processing time of the busy loop. Co-authored-by: Piper Thunstrom <pathunstrom@gmail.com>
Build succeeded
|
So, doing what I discussed in the slack: Removing activate, adding a heartbeat event.
Need to decide if we heartbeat between each publish, or we clear the queue between each heartbeat.
If we do the former, we're going to start seeing scheduling silliness, but that just comes from asynchronous design.
If we do the latter, it's easier to make events happen in a sequence, but still going to have some of the asynchronous silliness because, well, we're technically async.