Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I propose to use multiprocessing to analyze our images. The code isn't very well thought out at the moment. We have a 30s window, so we allow 30/nb_cameras seconds per camera. This is more than enough time for capture and analysis, but not enough for sending images. This is particularly true when 5 images need to be sent at the same time for a new alert.
I therefore suggest capturing and analyzing images from each camera using multiprocessing to save time, then using all the remaining time to send potential alerts.
In this way, we can analyze more cams with a single pi, which will be relevant for the use of cam 360, but we should also no longer have any media created in the api without an associated image, due to failed sending.