【发布时间】:2011-07-27 09:03:25
【问题描述】:
场景是:当用户上传图片时,我们在服务器上调整图片大小,但不是等待这项工作完成,我希望它立即响应用户。如果有可用的线程,我会正确地使用线程来完成此任务,但据我所知,php 中没有线程,那么我该如何实现这个目标?感谢您的想法和建议。
【问题讨论】:
标签: php multithreading image
场景是:当用户上传图片时,我们在服务器上调整图片大小,但不是等待这项工作完成,我希望它立即响应用户。如果有可用的线程,我会正确地使用线程来完成此任务,但据我所知,php 中没有线程,那么我该如何实现这个目标?感谢您的想法和建议。
【问题讨论】:
标签: php multithreading image
fork the process (ugly and unreliable) 或使用 JobQueue,例如 Gearman。
【讨论】:
使用 PHP 脚本来完成所有这些处理,并在 shell 上使用 壳执行。 因此脚本将单独运行,您的代码将通过在 shell 中运行而不是主代码来绕过此操作。 在这里查看我的答案以获得类似的任务:
【讨论】:
分叉是不可靠的,如果你的服务器由于某种原因崩溃,调整大小将永远不会发生。
将作业放入队列中,并使用 cron 作业来执行此操作。创建作业队列的方法有很多种,您可以使用数据库编写自己的方法,也可以使用现有的解决方案。
【讨论】: