-
Notifications
You must be signed in to change notification settings - Fork 243
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
ThreadedServer Signal Handling: Shutting down a server by a remote call accept by service? #555
Comments
Looks like I need to patch |
The reason the above method does not work is that the signal is being absorbed by the thread running the connection to your client (my best guess without testing/breakpoints/debugging myself). Each client will result in their own thread spawn when using ThreadedServer. From a system administration standpoint, it would make more sense to terminate the process using whatever starts your server — if you are using something like systemd it would potentially restart the service if you try doing it this way. If you want a pure RPyC solution, I would say you would probably want to inherit the threaded server and extend it to do one of the following:
As for where to ask questions, here is okay. I respond on best effort. |
I'll take a look once I have time. In my case the server is a forked subprocess of the client, and the Cilent is a textual TUI app. |
@glyh , iirc, when I did this for an electron desktop in the past, rather than forking the process, try keep the the server as a child process and sending the signal from the client/TUI-app. Of course, there needs to be signal handling for the RPyC server process — if I have time, I will check the docs for an example or try to write one this weekend. From what I remember, RPyC does not document how to do this very well. There is certainly room for enhancement of RPyC regarding signal handling and related documentation (i.e., the |
I am aware this is probably not the right place to ask but I can't find any other places to talk about rpyc.
So basically I want some rpc to shutdown the service.
I have tried:
None of the above works.
I am aware there's
close()
, but I have no way to pass that function into the Service as to get this function I need to construct a Server first which depends on the Service.The text was updated successfully, but these errors were encountered: