Summary
This release upgrades children to send heartbeats to parents. This allows the parent to know that a child it's asked a question to is still alive and hasn't crashed. In the event of a crash, heartbeats stop being received and the parent aborts the questions, avoiding large waits for nothing.
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([514](https://github.com/octue/octue-sdk-python/pull/514))
**IMPORTANT:** There are 2 breaking changes.
New features
- Send heartbeat messages to parents from children
- Raise error in parent if child heartbeats aren't received for too long an interval
Enhancements
- Tell user how to question a service after using `octue start` CLI command
Refactoring
- 💥 **BREAKING CHANGE:** Rename `run_subprocess_and_log_stdout_and_stderr` to `run_logged_subprocess`
- Split thread and process utilities into separate modules
- Remove redundant extra `while` loop in `OrderedMessageHandler`
- Remove redundant `unwrap` function and `AppFrom.run` method from `runner` module
Operations
- Use non-deprecated/latest Codecov action in workflows
Testing
- Increase `ChildEmulator` test coverage
---
Upgrade instructions
<details>
<summary>💥 <b>Rename run_subprocess_and_log_stdout_and_stderr to run_logged_subprocess</b></summary>
Use `octue.utils.threads.run_logged_subprocess` instead.
</details>
<!--- END AUTOGENERATED NOTES --->