hrmm, 我乱说几句,外行了别笑话。:-)
我觉得服务器端可以用REST API, 刚才看了一眼javax.rs.ws.core, 好象很多
boiler plate code 都已经写好了,只需要写如何处理各种命令就行了。在
客户端查询也很方便,在命令行用curl 就行, 用browser也可以。
命令/结果的格式的话JSON的格式很自由,又有现成的serializer和
deserializer,而且是human readable。
在服务器端我觉得 java.util.concurrent.ScheduledExecutorService看上
去挺好用的。 这个东东可以给你返回一个ScheduledFuture, 相当于一个
handle, 可以用来查结果,查状态,取消,取消了以后用
ScheduledExecutorService又可以重新schedule, 或者立即运行.
同一台机器上只让一个thread运行某个task应该不难。想要实现pause的
话,我觉得可以在stop/pause的时候取消task, 但是之前要设定好下次运行
的resume point; 比如pause()的时候,下次运行就从currentSubTask
开始,stop()的时候,下次运行就要从firstSubTask开始。