我有以下球员名单:
player_list = Participant.objects.all()
participant_count = player_list.count()
我想从中随机选择胜利者:
winner_index = random.randint(0, participant_count-1)
winner = player_list[winner_index]
假设我有一百万参与者,那么我想随机生成获胜者需要很长时间。直到那时我的网站才会挂起。
为此,我应该使用芹菜还是其罚款?如果我的网站挂了几分钟并且只显示获胜者怎么办?有什么建议吗?
答案 0 :(得分:1)
通过正确的索引,您的数据库应该能够处理这个,而无需任何特殊的解决方法。如果你使它与celery异步,那么你将无法在标准的请求/响应周期中包含这些数据。
如果您担心用户的页面速度,您可以加载没有获胜者的页面,然后使用javascript进行ajax调用以获取获胜者并更新页面,允许您向用户显示加载消息他们等了。