Fix(knowledge): Add Redis fallback for knowledge card status
Created by: Edouard-Legoupil
This commit fixes a bug that caused the application to crash when generating a knowledge card without a Redis connection. The get_knowledge_card_status endpoint was trying to use Redis's pub/sub functionality, which is not available when the application falls back to the in-memory DictStorage.
The fix implements a polling mechanism for the get_knowledge_card_status endpoint when DictStorage is in use. It also enhances the DictStorage class with mock publish and pubsub methods to prevent future AttributeErrors. The _update_progress function is also made resilient to avoid calling publish on DictStorage.
- Does my code meet the quality standards for releasing packages?
- Does the reviewer have all the information to validate the features/issues without too much research?
- Does the customer who will validate the associated tickets have the information to do so without wasting time?
Issues to validate to close :
-
issue #
Processed issues to keep open or in progress:
-
issue #
Checklist:
-
Does the package check go local? -
Does the CI pass? -
Are the added / fixed features documented, tested? -
Are the added features / solved problems briefly presented in the PR message? -
Are the changes related to tickets / issues that I have listed in the commits and in the PR itself? -
Are the tickets in "review" mode in the Project Tracking Board? -
Does each ticket, if it is to be closed after acceptance of the PR, contain a comment that tells how to validate it?