gpt4 book ai didi

django - Django post_save 信号是异步的吗?

转载 作者:行者123 更新时间:2023-11-28 19:35:35 27 4
gpt4 key购买 nike

我有一个like 功能,就像社交网络的like 或thumbs up 功能一样;用户点击星号/心形/任何东西来标记喜欢的内容。这是用 ajax 完成的,必须很快。

这里唯一的问题是,由于某些原因,我必须为每个 like 执行一些任务,我发现它们是直接在 like View 中编码的,这使得它很慢。

我正在考虑使用信号使这些任务异步执行,这样 View 就可以立即将 json 发送回 javascript 而无需等待任务执行完成。

我开始为 like 创建一个信号,但后来意识到 Django 的 signals 不是异步的,它最终会是一样的, View 必须等待完成发送回其响应的信号。

所以我可以尝试使 signal 异步,正如这里和那里所解释的那样,但我也可以将 post_save 信号用于 like 模型,但现在我想知道 View 是否可以在信号执行之前完成?

最佳答案

另请查看 celery (或更具体地说 django-celery )。它是一个异步任务调度程序/处理程序。因此,您的 post_save 信号处理程序创建了一个任务,该任务通过 celery 获取并执行。这样一来,即使在不同的机器或不同批处理的机器上,您仍然可以拥有快速的应用程序,而繁重的工作是异步执行的。

关于django - Django post_save 信号是异步的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com