我正在编写一个插件,用NewsML标准解析一组XML文件,并将它们作为自定义帖子类型插入数据库。一切正常,如预期的那样,但特别是在插件第一次激活时,有许多文件需要导入,这需要很长时间。我说的是多达2000个文件。
解析过程大约需要20-30秒,这对我来说还可以,但整个导入过程需要6分钟或更长时间,我认为提高执行时间限制不是最佳做法。
有时我的脚本会跳过执行时间限制后的所有文件,并显示一个空白页面,在我最后一次尝试时,我遇到了一个php错误,有时它会正常工作。(我假设它在未达到时间限制时工作)。
这是我在数据库中导入条目数组的代码。自从我6周前开始开发wordpress插件以来,我知道这不是你见过的最好的代码。https://gist.github.com/inrebinfo/0dba270e7fa1bca60a79
因此,我正在寻找一个有两个目标的解决方案:
1:不要跳过任何文件。我不知道如何绕过执行时间限制。(可能拆分阵列并导入单个部件?)
2:加快进程。20秒的解析时间还可以,但在我看来,插入时间太长了。
我很乐意得到任何建议和提示。