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

Mic*_*rdt 7 grails groovy job-queue

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

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

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

Sea*_*ney 3

有一个 grails 插件后台线程,它可能正是您正在寻找的。

当然,可以推出自己的线程池或使用现有的 Java 东西。