我们的产品主要采用 RESTful 架构。这使我们能够很好地实现几乎所有必需的功能,除了这个新的需求。
我需要实现一个页面,让用户同步进行大规模数据库操作。如果他们意识到自己犯了错误,他们可以在两者之间停止操作(而不是等待它完成并执行撤消操作)
我想知道是否有人可以就实现这种功能的最佳方式给出一些指示?
干杯! 尼拉夫
我们的产品主要采用 RESTful 架构。这使我们能够很好地实现几乎所有必需的功能,除了这个新的需求。
我需要实现一个页面,让用户同步进行大规模数据库操作。如果他们意识到自己犯了错误,他们可以在两者之间停止操作(而不是等待它完成并执行撤消操作)
我想知道是否有人可以就实现这种功能的最佳方式给出一些指示?
干杯! 尼拉夫
封装一组批处理操作的资源怎么样?创建资源意味着启动操作(指示操作应该做什么的数据通过 POST 提交)。更新资源允许在处理时停止或修改它。
I would kick off the large operation in a separate thread. Show the user a constantly updated status of the thread, along with a Cancel button. If the user clicks the Cancel button, you kill thread.
This is the way I've implemented similar things in the past.
The idea is to give them their control back immediately, but don't let them do anything else until the thread is complete except cancel.
In generic terms, you need a "job queue" and a way to manage the queue.
您需要集成批处理管理器,或实施您自己的。有几种产品可以帮助您。例如,阅读这篇文章 http://www.ibm.com/developerworks/websphere/techjournal/0801_vignola/0801_vignola.html