在我的当前任务中,当我选择大量的记录并改变它们的状态或重新分配它们时,系统可能会变得缓慢,以至于用户必须等待一段时间才能完成此操作。
所以,有没有办法将此过程排队,使其在后台运行,以便用户可以执行其他任务?
提前感谢您。
所以,有没有办法将此过程排队,使其在后台运行,以便用户可以执行其他任务?
提前感谢您。
看一下Gearman:
http://gearman.org/index.php?id=getting_started
http://php.net/manual/en/book.gearman.php
或者,如果您不喜欢那个,我多次使用这个优秀的四部分教程的原理取得了巨大的效果:
你可以选择以下方式:
基本上你可以运行任何消息队列系统,然后使用 STOMP(一种标准协议)在进程之间进行通信。
是的,当然可以。如果您想让 PHP 脚本在后台继续工作,并让用户与您的站点进行交互,您需要做的就是发送头信息:
header("Connection: close");
header("Content-length: $size");
这是你要找的吗?
需要更多关于队列如何处理的信息,您的意思是正在处理的数据与第一个进程运行后运行的第二个进程无关吗?如果是这样,我会按照您的脚本运行
yourcommand > /dev/null 2>&1 &
这将使进程在后台运行。
在PHP的上下文中,如果您追求的是速度,我会检查PHP是否有足够的可用内存。如果是,我会将值保存在数组中,并使用foreach循环来操作数据。通常这样做会更快。
需要更多信息。
Hari