长时间运行脚本

问题描述 投票:2回答:1

我正在为wordpress开发一个插件,它通过多个API调用导入大量数据并将其作为产品保存在woocommerce上。

问题是当商店有数百个(如果不是数千个)产品时,它开始对导入作业的长度造成影响,导致各种各样的超时。使用像“set_time_limit(xx)”这样的命令扩展导入有效,但是有些服务器似乎仍然有自己的故障保险,我认为我不能绕过一行代码:

mod_zfpm(63616:7f14fca1b730:0)-F030E35B: stderr: Timeout (900s) exceeded while reading from socket (application) (fastcgi.c:941)'

我想弄清楚哪种方法最正确。到目前为止,我所考虑的选项是:

  1. 错误时使用“register_shutdown_function()”重新启动导入(可能是一个非常糟糕的主意)
  2. 把工作分成一系列小的cron工作(更安全的替代方案,但可能耗时且复杂)

我应该使用选项2还是有更好的方法来处理长时间运行的任务?

注意:由于它是WP的插件,我不能使用许多重复线程中建议的解决方案,因为插件将在许多不同的服务器上使用。

php wordpress timeout
1个回答
0
投票

我还是新手,但我曾经遇到类似这样的事情,但情况并不完全相同,使用的解决方案是

1)将数据放入JSON格式。

2)它是一个sql数据库,使用Ajax进行请求

3)请求是根据需要显示的数据量进行的

4)请求中的额外周边使其返回具有偏移量的所有数据然后如果返回数据则增加偏移量并且进行另一个请求并且将第二组返回的数据附加到第一组

5)当数据数组异步更新时,当事件数据发生变化时,JavaScript事件监听器被附加到重新加载显示

虽然这个答案不会解决你的问题,但我希望它能给你一个想法。

© www.soinside.com 2019 - 2024. All rights reserved.