目前我有一个Java(和一个半移植的python版本)应用程序,它在后台运行,有一个作业队列(当前从mysql数据库中读出),它处理线程休眠/唤醒以根据作业共享资源优先级和运行时间。有一个前端php脚本可以将作业发布到数据库,系统会在每个时间间隔内轮询这些作业。
这种方式效率有点低(但比使用作业文件锁定问题更好),但我不禁想知道是否有某种方法可以简化这一点。
我的想法是java app(和/或python app)设置http服务(jetty?)并且有一个Web界面直接将作业推送到没有中间人的队列。 Apache正在为其他php站点提供服务,因此必须同时运行。
我真的想要一些其他的输入因为我更喜欢它是一个总是运行的后台服务 - 有一个cron执行工作是痛苦的(因为一些工作运行20多个小时所以添加新的工作是一个痛苦的新php [无线程] / java调用必须检查服务是否正在运行,并且要添加到尚未启动新服务的未完成作业),而且还有一个非常简单的Web界面而没有太多的资源浪费。
感谢您的意见。
答案 0 :(得分:0)
使用Tomcat(或类似)部署JSP,允许用户使用网页将作业请求发布到作业调度程序Web服务。在后端,使用Quartz Scheduler管理您的作业,让您的Web服务将作业添加到Quartz队列。