在PHP中处理内存密集型长任务的最佳方法
我已经发送了一个APNS通知服务器,理论上每天都会向50000至100000用户发送一个经过处理的通知(基于与iOS应用程序相关的web应用程序的用户数量) 通知将在2点左右发出,但必须单独发送给每个用户(使用城市飞艇),并由cron作业上的curl触发在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作业上处理这个长时间、内存密集
它遍历每个用户,并且必须使用一个HTML刮刀(确切地说是简单的HTML dom),每个用户大约需要5-10s,而且显然非常占用内存。一个简单的GET请求不可能是实现这一点的正确方法,事实上我肯定它会失败。在cron作业上处理这个长时间、内存密集型任务的最佳方法是什么?如果您将重用相同的变量,或者将不再使用的变量设置为null,则不会耗尽内存。 只是不要一次加载所有数据并释放它(设置为null)或在处理后替换为新数据
确保你不能提高任务的速度5-10秒听起来很长。如果你重复使用相同的变量或将不再使用的变量设置为null,你就不会耗尽内存。 只是不要一次加载所有数据并释放它(设置为null)或在处理后替换为新数据
确保你不能提高任务的速度5-10秒听起来很长。为什么它会占用大量内存?我想是的,不是吗?每次处理50000个用户10秒?或者只是需要很长时间?如果你不是一次加载所有用户,而是一个接一个地加载(这更有意义),而不是占用大量内存,那么只需要很长时间。我猜用户是存储在数据库中的?为什么你要处理每个用户10秒,你能解释一下为什么要花这么长时间吗?哦,是的,它是一个接一个的,这就是服务器创建对象和加载HTML(从刮板)的速度。为什么它是内存密集型的?我想是的,不是吗?每次处理50000个用户10秒?或者只是需要很长时间?如果你不是一次加载所有用户,而是一个接一个地加载(这更有意义),而不是占用大量内存,那么只需要很长时间。我猜用户存储在数据库中?还有,为什么你要处理每个用户10秒,你能解释一下为什么要花这么长时间吗?哦,是的,这是一个接一个的过程,这就是服务器创建对象和加载HTML(从刮板)的速度。谢谢,这就是我所需要的。是的,这就是我所需要的。是的,是的