如何使用芹菜选择task_id?

时间:2010-07-28 21:06:39

标签: python django celery

现在我从async_result得到一个task_id,并且必须保存它以后再取回它。 如果我知道task_id是由什么构成的,那么我会更好地计算它而不是从数据库中拉出来会更好。 E.G:用task_id=("%s-%s" % (user_id, datetime))设置任务。

1 个答案:

答案 0 :(得分:4)

你当然可以使用“天然ids”,但是他们必须真正有用 是可反转的,如果添加该时间戳,则无效。此外,id是唯一的,因此两个任务不能具有相同的id(行为是未定义的)

如果您有刷新Twitter用户时间线的任务,那么您就知道了 只希望随时为每个用户ID运行一个任务,因此您可以使用自然ID,如:

"update-twitter-timeline-%s" % (user_id)

然后始终能够获得该任务的结果,或者使用该id撤销任务,无需手动将其存储在某处并进行查找。