@@ -33,22 +33,22 @@ class ResultCache:
3333 Its purpose is to act as a central point for managing in progress
3434 async calls, allowing multiple clients to join and receive progress
3535 updates, get results and/or cancel in progress calls
36- TODO IMPORTANT! may need to add an authorisation layer to decide if
37- a user is allowed to get/join/cancel an existing async call current
38- simple logic only allows same user to perform these tasks
39- TODO name is probably not quite right, more of a result broker?
40- TODO externalise cachetools to allow for other implementations
41- e.g. redis etal for production scenarios
42- TODO properly support join nothing actually happens at the moment
43- TODO intercept progress notifications from original session and pass to joined
44- sessions
45- TODO handle session closure gracefully -
36+ TODO CRITICAL properly support join nothing actually happens at the moment
37+ TODO CRITICAL intercept progress notifications from original session and
38+ pass to joined sessions
39+ TODO MAJOR handle session closure gracefully -
4640 at the moment old connections will hang around and cause problems later
47- TODO keep_alive logic is not correct as per spec - results are cached for too long,
41+ TODO MAJOR needs a lot more testing around edge cases/failure scenarios
42+ TODO MINOR keep_alive logic is not correct as per spec - results are cached for too long,
4843 probably better than too short
49- TODO needs a lot more testing around edge cases/failure scenarios
50- TODO might look into more fine grained locks, one global lock is a bottleneck
44+ TODO ENHANCEMENT might look into more fine grained locks, one global lock is a bottleneck
5145 though this could be delegated to other cache impls if external
46+ TODO ENHANCEMENT externalise cachetools to allow for other implementations
47+ e.g. redis etal for production scenarios
48+ TODO ENHANCEMENT may need to add an authorisation layer to decide if
49+ a user is allowed to get/join/cancel an existing async call current
50+ simple logic only allows same user to perform these tasks
51+ TODO TRIVIAL name is probably not quite right, more of a result broker?
5252 """
5353
5454 _in_progress : dict [types .AsyncToken , InProgress ]
0 commit comments