重定向至“芹菜任务完成后的模板”诊断树



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

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

我知道我可以得到task_postrun或task_success信号,但我不能从那里重定向。

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

谢谢!

有两种方法:

  1. 询问服务器:将task_id保存在存储PDF的模型中,并创建一个ajax视图,每隔X秒检查一次任务是否完成,该视图的结果将决定它是应该重定向还是仍然等待PDF。

    result = MyTask.AsyncResult(task_id)
    result.get()
    
  2. 实时网络:另一种方法是将pusher与pusher_client_python一起使用,当PDF生成完成时(在您的PDF创建rutine中),对pusher进行api调用,pusher将向连接的客户端(等待结果的客户端)发送通知并进行重定向,这种方法更方便,因为您不必每隔X秒询问服务器一次。您需要学习套接字范式,但它很容易实现。

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新