【问题标题】:How do I choose a task_id using celery?如何使用 celery 选择 task_id?
【发布时间】:2011-03-22 09:53:22
【问题描述】:

现在我从 async_result 得到一个 task_id 并且必须保存它以便稍后取回。 如果我知道 task_id 是由什么组成的会更好,这样我就可以计算回来而不是从数据库中提取。例如:使用task_id=("%s-%s" % (user_id, datetime)) 设置任务。

【问题讨论】:

    标签: python django celery


    【解决方案1】:

    您当然可以使用“自然 ID”,但要真正有用,它们必须 是可逆转的,如果您添加该时间戳,这将不起作用。 id 也是唯一的,所以两个任务不能有相同的 id(行为未定义)

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 2019-01-08
      • 2015-05-04
      • 2018-02-11
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      相关资源
      最近更新 更多