使用threading更新数据库.Timer不会正确更新它

时间:2016-01-28 16:21:38

标签: python django mongodb

我正在网站上工作。

当用户从新设备登录该站点时,我会将验证码发送给用户。

如果用户因登录尝试失败而在10秒内尝试登录,我不想重新发送新的验证码。

所以我保存了他尝试从数据库登录的浏览器的device-id。并在10秒后调用一个函数来清除DB中的设备ID。

我为此目的编写了以下代码:

code = validation_code
user_object.ip_validation_code = code
user_object.pre_validation_devices[device_used] = code

def clear_pre_validation_devices():
    user_object.pre_validation_devices = {}
    user_object.save()

Timer(30.0, clear_pre_validation_devices).start()
user_object.save()

执行代码后,我发现这并没有像我预期的那样清除提交的 pre_validation_devices

我正在使用Django 1.6和Mongo DB,我将不胜感激任何帮助。

谢谢

0 个答案:

没有答案