有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

php java批处理

我在Linux上工作。我有3个文件(每个大约2Gb包含人类基因组序列)。我有java代码通过PHP开发的web界面处理这些文件。处理时间约为24小时甚至更长

如何从PHP运行Java代码,以便在关闭浏览器时处理不会终止

由于处理时间太长,在处理完成之前保持浏览器打开是不可行的

我想这需要批量处理


共 (3) 个答案

  1. # 1 楼答案

    根据您的评论,在php execute a background process的公认答案中使用的方法应该很好。只需启动流程,获取流程id并将其与启动流程的用户一起存储在数据库中(或者使用可用于标识启动流程的用户的文件名)。使用提供的isRunning方法(仅对提供的进程id执行ps),您可以检查该进程是否仍在运行

  2. # 2 楼答案

    这是我提出的解决方案:

    1)创建一个db表或一个配置文件,在其中存储一个标志,例如“将_进程_添加到_队列”

    2)在PHP面板中,可以将此标志设置为1

    3)设置一个cron作业来检查该标志,如果该标志设置为1,该作业将重置为0并启动Java程序

  3. # 3 楼答案

    据我所知,你想从PHP调用java代码吗?对的这就是解决方案

    <?php
        //use system call to execute java class or jar
        system('java yourclass', $retval);
    ?>
    

    使用上面的php脚本。执行java代码

    要获取流程信息,请参阅以下内容

    PHP getting process information