-
Notifications
You must be signed in to change notification settings - Fork 69
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
Asynchronously wait for load node service response #174
Conversation
Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
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.
I'm not sure if the service async call can interact with the launch asyncio loop in a nicer way (rclpy futures are an awaitable https://github.com/ros2/rclpy/blob/16a72fa711a18376c6d5e97eb82d8af6b113a67a/rclpy/rclpy/task.py#L54-L58).
This is solving the reported issue, so LGTM.
Maybe there's a better way, but I just copied the logic from the LifecycleNode action. If we come up with something better, we can refactor both. |
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Is there a plan to backport this to Foxy? It is a real issue for some users. Is there anything I can do to help? @jacobperron @clalancette |
@adamdbrw Thanks for the ping. I think I was planning to backport this (along with other changes) to Foxy, but it got a bit gnarly with Git conflicts. I'm happy to review a backport PR if you'd like to open one. Keep in mind that we should stay API compatible. |
@jacobperron for me this patch applied on Foxy without conflicts. Perhaps after several backports the problem is solved already? |
@adamdbrw That's quite possible 🙂 |
* Asynchronously wait for load node service response Fixes ros2#171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Foxy backport: #240 |
* Asynchronously wait for load node service response Fixes #171 By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Add back debug log It was accidentally removed. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Fixes #171
By asychronously waiting for the service response, we can monitor if launch is shutting down and abandon the request so we don't block the shutdown process.