我有一个Grails应用程序,它有一些计算密集型优化,运行时间约为5分钟(可能更多)。目前,我正在主请求线程中执行这些操作,即请求返回需要5分钟。它的工作原理,但从可用性的角度来看当然是可怕的。在Grails应用程序中为长时间运行的作业构建队列的最佳方式是什么?
那么以异步方式实现它的最佳方式是什么?我假设一个ThreadPoolExecutor将不得不参与,但我该如何启动并访问它?我可以将它建模为Grails服务吗?或一份工作(似乎这些只是为了重复工作,但)?
另外,处理工作状态的最佳方法是什么?通过国旗或者数据库中的全新课程?让浏览器显示一个微调器,并保持轮询,直到状态改变?
与仅使用ThreadPoolExecutor相比,有什么好处?这听起来比这更复杂。 – 2009-07-26 16:12:44