PHP重任务在后台

时间:2014-05-23 14:43:01

标签: php multithreading sockets pthreads

我正在构建一个脚本来生成数千个PDF页面,但内存消耗会影响服务器的性能。由于这不是一项先验任务(这一代可能需要数小时,只要它不影响网络服务器)这个问题的最佳方法是什么?

我见过 pthread 的一些实现,但我还要安装ZTS。 pthreadPHP

不知道这是否是解决我问题的正确方法。 谢谢大家

2 个答案:

答案 0 :(得分:2)

如果要避免安装pcntl或pthread,只需将操作移动到cron作业(使用文件锁定以防止重复进程运行)或永不停止的服务来处理它们。当主服务器与主应用程序分开运行时,您的主应用程序将留下生成PD所需的元数据,并且可以进行限制。

答案 1 :(得分:0)

另一个选择是使用Gearman,它允许您将PDF生成过程卸载到完全独立的服务器(或服务器组,gearmand本身实际上只是一个作业调度程序)。工作者脚本可以用许多不同的语言编写,包括PHP(所以如果你已经使用了一些用PHP编写的PDF生成库,你仍然可以使用它)。另请参阅http://gearman.org/