我正在创建一个使用zend的web应用程序,在这里我创建了一个界面,用户A可以从那里发送电子邮件给多个用户(S)&它工作得很好,但它降低了执行时间,因为哪个用户A等待了太多的“确认响应”(这将在电子邮件发送后显示)。)
在Java中,我们可以通过“线程”来执行任务(发送电子邮件)&它不会减慢rest应用程序的运行速度。
在PHP/Zend中有没有像Java一样的技术,我们可以通过它来划分任务,这可能需要很多时间,比如:发送电子邮件。
发布于 2010-04-06 22:45:02
您可以考虑使用多个进程,例如使用fork。它们之间的通信不会像使用线程那样简单(但它也不会带来所有的陷阱),但如果你只是发送电子邮件,可能没有必要进行太多的交流。
发布于 2010-04-06 23:31:59
注意在Apache进程上执行fork。你可能会得到一些你不想要的行为。如果您希望执行任何类型的异步执行,都应该通过某种排队机制来实现。盖尔曼就是其中之一。Zend Server Job Queue是另一个。我在Do you queue? Introduction to the Zend Server Job Queue上有一些演示代码。可以使用Cron,但是您会遇到依赖cron调度器来运行任务的问题,而异步计算通常需要立即运行。使用排队系统允许您在不使用线程的情况下执行此操作。
发布于 2012-10-24 12:36:50
有一个基于PThreads的线程扩展正在开发中,它在https://github.com/krakjoe/pthreads上看起来很有前途
https://stackoverflow.com/questions/2585656
复制相似问题