[IMP] gamification, *: imp selection of cron-updated goals (Backport) #615
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.
*: base
In the cron updating challenges goals, we were historically filtering in records of users that logged in since the last update. This doesn't work because sessions can last a long time, so users are active between cron runs but their goals are not updated and stale reports were sent.
We temporarily fixed this in v14.0 by updating all goals for internal users, but this can lead to unnecessary computations too, and still misses goals of active portal users.
Instead, we are here using the
bus.presence
records to track user activity, combining it with the session lifetime to avoid indefinitely fetching old goals that couldn't need an update.This works for both internal and portal users.
Note: we update stale base comments in favor of exposing bus.presence to guide developers.
Task-3148858
closes odoo#121763
Signed-off-by: Thibault Delavallee (tde) [email protected]
Back-port of: odoo@466ab1e
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr