【发布时间】:2011-12-20 04:20:42
【问题描述】:
我偶然发现了一个有趣的问题。我正在使用 Symfony2。简化的问题如下。有两个动作,每个动作在 routing.yml 中都有一个路径。第一个动作是这样的:
return new \Symfony\Component\HttpFoundation\Response("first");
第二个动作是这样的:
$start = time();
while(time()-$start < 25);
return new \Symfony\Component\HttpFoundation\Response("second");
第二个动作循环运行 25 秒然后返回。
我调用第二个动作:domain.com/second(当然加载需要时间),同时我打开另一个浏览器窗口并输入:domain.com/first。这应该在眨眼之间给我结果,但是,即使是第一个动作也要等到第二个动作完成,他们会在同一时刻给我结果。这在开发和生产模式中都会发生。我想这两个进程应该自己运行。如果不是第一个动作,而是调用一个纯 PHP 脚本(不是 Symfony),它会立即返回而无需等待。此外,如果我在不同的浏览器中运行第一个和第二个操作,我不必等待第一个操作加载。
什么可能导致问题?上面提到的问题很容易理解,但是,如果解决了这个问题,我原来的更复杂的任务也可以工作。
感谢您的帮助:大卫
【问题讨论】: