【发布时间】:2019-05-27 12:57:33
【问题描述】:
尝试编写在后台运行的导出服务。 逻辑:
1:当用户点击导出按钮时
2:该导出功能将在后台运行。用户将继续其他工作..无需等到导出功能完成
我正在使用 grails 2.3.11
【问题讨论】:
标签: multithreading grails grails-plugin
尝试编写在后台运行的导出服务。 逻辑:
1:当用户点击导出按钮时
2:该导出功能将在后台运行。用户将继续其他工作..无需等到导出功能完成
我正在使用 grails 2.3.11
【问题讨论】:
标签: multithreading grails grails-plugin
您知道生成任意线程并让它们自行处理会很危险吗?您最终可能会运行数十个导出线程并且无法控制它们。
执行此操作的更好方法包括使用石英调度程序并在需要时运行导出作业,拥有异步(消息驱动?)工作应用程序/线程,并且一些 Web 容器提供内置工作服务。
简而言之,有很多方法可以安全且可控地执行此操作。
【讨论】:
您可以在服务方法上使用@DelegateAsync 关键字,让它们由全局执行器服务执行。
文档还描述了如何处理结果事件: https://grails.github.io/grails-doc/latest/guide/async.html
【讨论】: