Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中处理内存密集型长任务的最佳方法_Php_Memory Management_Cron_Daemon - Fatal编程技术网

在PHP中处理内存密集型长任务的最佳方法

在PHP中处理内存密集型长任务的最佳方法,php,memory-management,cron,daemon,Php,Memory Management,Cron,Daemon,我已经发送了一个APNS通知服务器,理论上每天都会向50000至100000用户发送一个经过处理的通知(基于与iOS应用程序相关的web应用程序的用户数量) 通知将在2点左右发出,但必须单独发送给每个用户(使用城市飞艇),并由cron作业上的curl触发 它遍历每个用户,并且必须使用一个HTML刮刀(确切地说是简单的HTML dom),每个用户大约需要5-10s,而且显然非常占用内存。一个简单的GET请求不可能是实现这一点的正确方法,事实上我肯定它会失败。在cron作业上处理这个长时间、内存密集

我已经发送了一个APNS通知服务器,理论上每天都会向50000100000用户发送一个经过处理的通知(基于与iOS应用程序相关的web应用程序的用户数量)

通知将在2点左右发出,但必须单独发送给每个用户(使用城市飞艇),并由cron作业上的curl触发


它遍历每个用户,并且必须使用一个HTML刮刀(确切地说是简单的HTML dom),每个用户大约需要5-10s,而且显然非常占用内存。一个简单的GET请求不可能是实现这一点的正确方法,事实上我肯定它会失败。在cron作业上处理这个长时间、内存密集型任务的最佳方法是什么?

如果您将重用相同的变量,或者将不再使用的变量设置为null,则不会耗尽内存。 只是不要一次加载所有数据并释放它(设置为null)或在处理后替换为新数据


确保你不能提高任务的速度5-10秒听起来很长。

如果你重复使用相同的变量或将不再使用的变量设置为null,你就不会耗尽内存。 只是不要一次加载所有数据并释放它(设置为null)或在处理后替换为新数据


确保你不能提高任务的速度5-10秒听起来很长。

为什么它会占用大量内存?我想是的,不是吗?每次处理50000个用户10秒?或者只是需要很长时间?如果你不是一次加载所有用户,而是一个接一个地加载(这更有意义),而不是占用大量内存,那么只需要很长时间。我猜用户是存储在数据库中的?为什么你要处理每个用户10秒,你能解释一下为什么要花这么长时间吗?哦,是的,它是一个接一个的,这就是服务器创建对象和加载HTML(从刮板)的速度。为什么它是内存密集型的?我想是的,不是吗?每次处理50000个用户10秒?或者只是需要很长时间?如果你不是一次加载所有用户,而是一个接一个地加载(这更有意义),而不是占用大量内存,那么只需要很长时间。我猜用户存储在数据库中?还有,为什么你要处理每个用户10秒,你能解释一下为什么要花这么长时间吗?哦,是的,这是一个接一个的过程,这就是服务器创建对象和加载HTML(从刮板)的速度。谢谢,这就是我所需要的。是的,这就是我所需要的。是的,是的