尝试编写后台运行的exportservice。 逻辑:
1:当用户点击导出按钮
时2:导出功能将在backgound中运行。并且用户将继续其他工作..无需等到导出功能完成
我正在使用 grails 2.3.11
答案 0 :(得分:0)
你知道产生任意线程并将它们留在自己的位置可能会很危险吗?您最终可能会运行数十个导出线程,无法控制它们。
更好的方法包括使用石英调度程序并在需要时运行导出作业,拥有异步(消息驱动?)工作程序/线程和一些Web容器提供内置工作服务。
简单地说,有很多方法可以安全地以受控的方式做到这一点。
答案 1 :(得分:0)
您可以在服务方法上使用@DelegateAsync关键字来让它们由全局执行程序服务执行。
该文档还描述了如何处理结果事件: https://grails.github.io/grails-doc/latest/guide/async.html