I can see there's a bug in which it does not accept negative numbers, which may have transformed your 0.1 into 0. If you edit the currency after changing it, does it say 0.1 or 0?
Bear in mind the "Automatic interest: Activity threshold" setting. It does not allow for setting the value to 0, so if you did so, it would definitely cease providing interest payments.
That being said, I see that it is possible for a race condition to occur where the "Can collect interest" check would fail. Given the following scenario:
In this scenario, User X's interest would not meet the "must be exactly 86400 seconds (1 day) after the previous interest collection" check, and as such even the cron job would fail.
- Day 1: User X's interest was delayed for 15 seconds after that day's first run of the cron job (a lot of users ahead of X in the queue)
- Day 2: User X's interest was delayed for 14 or fewer seconds after that day's first run of the cron job (fewer users ahead of X in the queue, due to the "Activity threshold" mentioned above)
This was a flaw in the design that I did not consider. Starting with the next version, I've added an override switch that ensures the cron job interest is not subject to the "Can collect interest" check. This means that manually running the cron job multiple times will pay interest as many times as the user clicks to run it, but that's an acceptable trade-off compared to the idea of skipping users.
The only other solution would be to increase the frequency of the cron job, but that has performance concerns since with a large forum it's possible to select a large amount of users for update.
We use essential cookies to make this site work, and optional cookies to enhance your experience.