在24小时的时间跨度内分配配额

时间:2017-06-01 11:28:48

标签: php time quota

我一直在努力解决问题,并且决定在这里寻求帮助。

方案: 在在线游戏中,用户具有“货币”,一些用户获得该货币的奖励,应该在动态配额的24小时内每天每天给予奖励。在一天结束时,应该给用户配额。 最大配额是一天中的分钟数。货币不允许每分钟增加一个以上。用户当前拥有的货币保存在数据库中,将显示在页面上的排名上实际上按此货币排序的排名

用户A的配额为100,因此他应该每天分配100份货币,这是一天内分配配额的基本想法

每分钟都有一个cronjob运行,我模拟了这个并让它在这里工作:     

$minutesSinceMidnight = 0;
$dailyQuota = 100;
$result = 0;
do {
    if(!($minutesSinceMidnight % floor(1440 / $dailyQuota)))
    {
        $result += 1;
        echo "Minutes since Midnight ".$minutesSinceMidnight. " result ". $result."\n";

    }


    $minutesSinceMidnight += 1;
}
while($minutesSinceMidnight != 1440);

echo "We got ". $result;

https://ideone.com/YjjzDG

问题是这是非常不准确的,你有什么建议如何更好地解决这个问题?

0 个答案:

没有答案