2010-08-25 31 views
0

目前我有一个Java(和一个半移植的Python版本)应用程序,在后台运行有一个作业队列(目前从一个MySQL数据库读取)处理线程睡眠/唤醒以基于作业优先级和运行时间共享资源。有一个前端PHP脚本将作业发布到数据库,每个时间间隔由系统轮询。Java和Python的应用程序/服务与Web界面的通信

这种方式效率不高(但比使用作业文件锁定问题更好),但我不禁想知道是否会有一些方法来简化这一点。

我的想法是java应用程序(和或python应用程序)设置http服务(jetty?),并有一个web界面,直接推送作业到队列没有中间人。 Apache服务于其他的PHP网站,所以这将不得不串联运行。

因为我更喜欢它是一个始终运行的后台服务 - 有一个cron执行作业是痛苦的(因为有些作业运行了20多个小时,所以添加新的作业很痛苦新的PHP [无线程]/Java调用必须检查服务是否运行着未完成的工作来添加到而不是开始一个新的服务),但也有一个非常简单的Web界面,没有太多的资源浪费。

感谢您的输入。

回答

0

使用Tomcat(或类似的)部署JSP,允许用户使用网页将作业请求发布到作业调度程序Web服务。在后端,使用Quartz Scheduler来管理您的工作,并让您的Web服务添加作业到Quartz队列中。

相关问题