在Grails应用程序中为长时间运行的作业构建队列的最佳方法是什么?

我有一个Grails应用程序,它具有一些计算密集型优化,运行时间约为5分钟(可能更多).目前,我在主请求线程中执行这些操作,即请求返回需要5分钟.它有效,但从可用性的角度来看当然是可怕的.

那么以异步方式实现它的最佳方法是什么?我假设一个ThreadPoolExecutor必须参与,但我如何启动和访问它?我可以将其建模为Grails服务吗?或者一份工作(虽然这些工作只是为了重复工作)?

另外,处理工作状态的最佳方法是什么?通过一个标志或者DB中的全新类?让浏览器显示一个微调器并继续轮询,直到状态发生变化?

解决方法

一个grails插件 background-thread可能就是你想要的.

当然,可以滚动自己的线程池或使用现有的Java东西.

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...