-
-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix/reschedule in n days affects manually rescheduled cards #422
Fix/reschedule in n days affects manually rescheduled cards #422
Conversation
@@ -66,6 +66,7 @@ def set_load_balance(self, did_query=None): | |||
f"""SELECT (id/1000-{mw.col.sched.day_cutoff})/86400, count(distinct cid) | |||
FROM revlog | |||
WHERE ease > 0 | |||
AND (type < 3 OR factor != 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this change required?
If I am not wrong, this code is for calculating the number of reviews done in the past. I don't think that we should exclude the cram revlogs here. Irrespective of whether they are used to reschedule the card or not, they are actual reviews and take up study time just like other reviews do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think cramming is out of plan. Should we consider it in load balance?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Forget about that for a moment.
Can you first tell me why are calculating the number of reviews done in the past? Load balancing works for future days and not for past days, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because we need to calculate the size of backlog. If the size of backlog is less than the average, some cards will be rescheduled to today.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, do you mean that the past reviews are used to calculate the average? And then, if today's due count is less than the past average, some reviews would be brought forward (aka advanced) from the future.
If so, I agree that the cram reviews shouldn't be used to calculate the average.
By the way, the code is quite complicated. It would be helpful to add some comments explaining the purpose of some of the codes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example, if the size of backlog plus the number of due cards is 100, and the number of due cards tomorrow is 150, some cards due tomorrow will be rescheduled to today.
No description provided.