gpt4 book ai didi

django - celery 任务完成后重定向到模板

转载 作者:行者123 更新时间:2023-12-01 03:55:23 24 4
gpt4 key购买 nike

我在 Django 中使用 Celery 将我的 pdf 生成放在后台,同时显示一个加载页面。

但是当任务完成时(即生成我的 pdf),我想重定向到下一个 View ,该 View 负责发送邮件并向用户显示友好的确认消息。

我知道我可以获得 task_postrun 或 task_success 信号,但我无法从那里重定向。

我搜索了几个小时,但没有找到任何解决方案,有什么想法吗?

谢谢 !

最佳答案

有两种方式:

  • 询问服务器:将 task_id 保存在您存储 PDF 的模型中,并创建一个 ajax View 以每 X 秒检查一次任务是否完成,该 View 的结果将决定它是否应该重定向或仍然等待 PDF。
    result = MyTask.AsyncResult(task_id)
    result.get()
  • 实时网络:另一种方式是使用带有 pusher_client_python 的推送器, 当 PDF 生成完成后(在您的 PDF 创建程序中),对 pusher 进行 api 调用,pusher 将向连接的客户端(等待结果的客户端)发送通知并重定向,这种方法更方便,因为您不需要不必每 X 秒询问一次服务器。您将需要了解套接字范例,但它很容易实现。

  • 希望这可以帮助。

    关于django - celery 任务完成后重定向到模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727618/

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