gpt4 book ai didi

php - 非阻塞命名管道

转载 作者:可可西里 更新时间:2023-11-01 13:00:32 26 4
gpt4 key购买 nike

问题摘要:我已经成功地以使用并发为代价,大大加快了上传图像时的翻阅速度。现在我需要确保并发性不受竞争条件的影响。我打算让依赖脚本轮询普通文件以了解独立文件的状态,但后来决定命名管道会更好。避免轮询和命名的管道,因为我无法从打开它们的脚本中获取 PID(这是我需要使用管道与之交谈的脚本)。

因此,当上传图像时,客户端通过 AJAX 将 POST 发送到脚本,该脚本 1) 保存图像 2) 生成一个并行脚本(独立脚本)来拇指图像,以及 3) 将关于图像的 JSON 返回给客户。然后客户端立即请求拇指版本,我们希望在发送响应时有足够的时间准备。但如果它还没有准备好,Apache mod_rewrites 指向第二个脚本(依赖)的路径,它等待 thumbing 完成,然后返回图像数据。

我原以为这会相当简单,但是,在通过终端单独测试独立脚本时,我得到了这个:

$ php -f thumb.php -- img=3g1pad.jpg
successSegmentation fault

来源在这里:http://codepad.org/JP9wkuba我怀疑我遇到了段错误,因为我制作的那个 fifo 仍然打开并且现在是孤立的。但是我需要它在那里才能看到依赖脚本,对吗?难道它不应该是非阻塞的吗?我想这是因为脚本的其余部分可以运行....但无法完成?正如我一开始所想的那样,这将是一个普通文件的工作,除非两者都打开我不想进行轮询。我最多想轮询一次并完成它。我是否只需要轮询并忽略丑陋?

最佳答案

您需要删除创建的 FIFO 文件,然后完成所有脚本。

关于php - 非阻塞命名管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com