0

我正在浏览 Celery (Django_celery) 文档。

我有一个困惑。它可以用于正常的 AJAX 调用吗?

示例:假设我有一个类似于 facebook 上的“Like”按钮的按钮。芹菜适合那种“任务”吗?

4

1 回答 1

3

不,不是。Celery 用于异步后端任务 - Ajax 是异步的,因为 Javascript 在等待响应时不会阻塞,但在其他方面它就像一个普通请求:你调用一个 URL,它通过返回响应HTTP。

Celery 不这样做:它对于启动长期运行的后端作业很有用,但不能在它们结束时真正返回响应。它可能有用的地方是,如果您有一个由 Ajax 调用的视图,该视图启动了 Celery 作业,然后您的 JS 会定期 ping 它以查看它是否已完成,并相应地更新您的 HTML。

于 2012-09-03T13:56:22.620 回答