您的位置:首页 > 编程语言 > Python开发

PHP + PYTHON 多任务多线程,后台运行,计划任务-实现方法

2016-03-25 09:42 786 查看
有时候在做程序的时候,会发现AJAX来做批量异步不怎么好。而PHP又不支持多线程。效率不高。

在这个时候就会使用PYTHON来做后台多线程操作。

在WINDOWS下比较麻烦,第一:如果是多任务的话,需要几个启动文件,一般一个启动文件为一个PHP文件。

启动文件内是运行CMD的代码

这个是项目下PYTHON的脚本和PHP临时启动文件缓存日志放的目录。





一般在启动文件运行之前需要把PYTHON脚本文件复制到C盘PYTHON.EXE目录下。这样才能正常运行(或者是因为权限问题吧)

所以在启动文件启动之前,让PHP把PYTHON脚本复制到PYTHON.EXE目录下。

然后创建启动文件

启动文件代码如下:(启动文件是放在phpcache 目录下的)



<?php system("C:\\Python27\python.exe C:\\Python27\T21.py >../log/21.log")?>

多个任务需要使用多个启动文件和多个执行文件(PYTHON脚本)。这样才能达到多任务,多线程。

不能几个任务使用一个脚本去操作。



然后使用PHP访问启动文件开启任务执行。

访问代码如下:



然后后台程序就开始运行了。  

测试效果:

2万条数据(远程)- 大量数据的情况下,启动6个任务,每个任务10个线程。6个任务分别获取不同类目的数据。 花了48秒完成任务。

思路整理:

1、PHP要用FOPEN来打开一个页面,从而启动任务。

2、如果开启多个任务必须要生成多个启动文件(PHP-放运行CMD的)

3、如果开启多个任务必须要复制多个执行文件(PYTHON脚本)到PYTHON.EXE目录

4、LINUX下的思路也差不多,只是在那个执行文件和脚本下有些区别

5、其他的自己扩展吧..

请注意:本文严禁任何公司或者个人转载,本文是原创文章。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: