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.
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.