GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — gh-145411: Add runtime (now: `unix` only) control to Tachyon by maurycy · Pull Request #149958 · python/cpython Conversation
|
| if conn in self._connections: | ||
| self._flush_connection(conn) | ||
|
|
||
| def _dispatch(self, conn, command): |
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
No dump / snapshot yet.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| if getattr(args, 'control', None) is not None: | ||
| if args.subprocesses: | ||
| parser.error("--control is incompatible with --subprocesses.") | ||
| if os.name == "nt": |
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, I don't have access to Windows.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| if getattr(args, 'control', None) is not None: | ||
| if args.subprocesses: | ||
| parser.error("--control is incompatible with --subprocesses.") |
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
@pablogsal Proper communication with children would be very complex. Maybe we can just use signals for enabling and disabling them.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| from .errors import ControlError, ControlURIError | ||
|
|
||
|
|
||
| class ProfilerControl: |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I did not want to inject this into LiveCollector but the direction is clear.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
unix only) control to Tachyon
|
|
||
| with _get_child_monitor_context(args, args.pid): | ||
| server = None | ||
| with ExitStack() as stack: |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Keeping should-be-soon-to-be-added signal (SIGUSR1, SIGUSR2 for enabling or disabling?) support in mind.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| self.close_after_write = False | ||
|
|
||
|
|
||
| class ControlServer: |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR @maurycy, this looks really interesting. I think we should introduce an abstraction here to be able to implement other transport protocols. Most importantly, I think we will need named pipes on Windows, but it would also allow things like adding TCP transport later down the line.
I spoke with @pablogsal briefly about this and we agreed that ideally we'd have Windows support also included in this change. Do you think you could look into that? I can run Windows in a VM and may be able to help out, but I'm not sure when I'll be able to get around to it.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
+1 on the abstraction, it would be great to have everything here. I’d also love to see the snapshot command in this change.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
@ivonastojanovic @lkollar Thank you for the kind words. :) These are great ideas! I will get back to it on Monday. I will try to take a stab at named pipe over the weekend
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I've got drowned by other things, hence the delay.
@chris-eibl Would you be willing to pair on this? :-) I can open a PR in my fork.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sure thing!
I am a low on time atm, but should get better mid next week.
I think we should introduce an abstraction
Are you going to prepare the abstraction so I can concentrate on the named pipes on Windows?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is stale because it has been open for 90 days with no activity. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thank you for the reminder, bot. I will prioritize addressing the points raised during the review. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.