我在Linux工作。我有3个文件(每个文件大约2 2Gb,包含人类基因组序列)。我有java代码来处理这些文件,通过在PHP开发的web界面。处理时间约为24小时,甚至更长。
如何从PHP运行Java代码,以便在关闭浏览器时处理不会终止。
由于处理时间如此之长,因此在处理完成之前保持浏览器打开是不可行的。
我假设它需要批处理。
发布于 2011-05-17 15:06:28
据我所知,你想从PHP调用你的java代码?对,是这样?下面是解决方案
<?php
//use system call to execute java class or jar
system('java yourclass', $retval);
?>使用上面的php脚本。来执行你的java代码。
要获取过程信息,请参阅以下内容
PHP getting process information
发布于 2011-05-17 15:03:44
我建议,如果您可以访问源代码,您实际上可以使用Java RMI,并从RMI中启动所有处理。这样,您就可以从等式中删除PHP。
但是,如果您确实需要PHP在开始之前设置一些变量或设置,则可以在使用Java RMI开始处理之前将这些变量或设置写入文件。
如果你需要一个关于如何让RMI工作的教程,你可以参考:
http://download.oracle.com/javase/tutorial/rmi/index.html
干杯!
发布于 2011-05-17 15:05:40
这是我提出的解决方案:
1)创建用于存储标志的db表或配置文件,例如"add_process_to_queue“。
2)在PHP面板中,您可以将此标志设置为1
3)设置一个cron作业来检查此标志,如果将其设置为1,该作业将重置为0并启动Java程序
https://stackoverflow.com/questions/6027313
复制相似问题