我需要创建一个django Web门户,用户可以通过在每个特定报告中定义的参数通过表单提供值来选择和运行临时报告。处理用户报告执行请求的视图需要对生成实际输出的远程Jasper Reports Server进行RESTFul服务调用。
我已经编写了客户端来对远程服务器进行RESTful服务调用。根据报告的大小,服务调用可能需要几分钟。
在验证用户表单后进行服务调用的最佳方法是什么,以便呼叫以异步方式(在后台)进行处理,并且用户可以在生成报告时继续使用Web门户。
我是否需要在提交参数表单时进行AJAX调用,或者在表单验证后是否应该在视图中为RESTful客户端启动新线程?或其他什么?
答案 0 :(得分:4)
django-celery是异步任务的流行选择,我通常使用greenlet作为他们使用的。
然后,要通知用户,您可以使用通知框架告诉客户端已完成某项操作。