php怎么知道脚本运行失败,php – 如果脚本已经运行,请不要运行脚本

我找到这个问题的答案是完全不成功的.希望有人可以提供帮助.

我有一个PHP脚本(一个特定的WordPress模板),当用户点击它时会自动导入和处理图像.问题是图像处理占用大量内存,特别是如果多个用户同时访问模板并启动图像处理.由于这个原因,我的服务器多次崩溃.

我的解决方案是,如果它已经运行,则不执行图像处理功能.在函数开始运行之前,我会检查一个名为image_import_running的数据库条目,看它是否设置为false.如果是,则该函数运行.函数的第一件事就是将image_import_running设置为true.然后,在完成所有操作后,我将其设置为false.

它在理论上很有效.该网站没有崩溃,我可以告诉你.但它有两个主要问题:

>如果用户在加载页面时关闭页面,则脚本永远不会完成处理图像,因此永远不会将image_import_running设置为false.在手动将图像设置为false之前,模板将永远不会再次处理图像.

>如果脚本在处理图像时超时 – 如果队列中有很多图像,这很有可能 – 你的问题与1号基本相同:脚本永远不会达到设置image_import_running的程度为假.

为了处理1号(我意识到的两个问题中的第一个),我在脚本中添加了ignore_user_abort(true).它有用吗?我不知道,因为2号仍然是一个问题.那就是我难倒的地方.

如果我可以询问服务器脚本是否正在运行,我可以这样做:

if($import_running && $script_not_running) {

$import_running = false;

}

但是如何设置$script_not_running变量呢?甘拜下风.

我和你分享了这整个故事,以防你有其他一些出色的解决方案.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值