taskqueue和非幂等任务

时间:2011-07-16 20:21:46

标签: python google-app-engine task-queue idempotent

我正在开发一个投票应用,用户可以上传所有选民的电子邮件地址列表。在做了一些错误检查之后,我为每个选民创建了一个Voter实体。由于可能有大量选民,我在任务队列中创建Voter个实体以避免30秒的限制,任务看起来像这样:

    put_list = []
    for email, id in itertools.izip(voter_emails, uuids):
        put_list.append(Voter(election = election,
                              email = email,
                              uuid = id))
    election.txt_voters = ""
    put_list.append(election)
    db.put(put_list)

然而,这项任务并非幂等。有没有办法让这个任务具有幂等性?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

使用key_name而不是uuid属性来阻止创建重复的选民实体。

相关问题