WP_INSERT_POST有时在API调用后失败

时间:2013-05-09 作者:vancoder

我构建了一个插件,该插件触发Ajax调用以连接到第三方API。该API返回一些Json,然后用wp_insert_post.

现在,通常情况下,这是可行的。但是,有时保存失败,并出现“MySQL服务器已离开”错误。我假设这是因为API响应时间太长(可能是30秒),所以连接关闭了。

这听起来像是正确的结论吗?如果是这样,我如何在插件中处理这个问题?

编辑:20秒似乎不足以超时,所以我对这一秒感到困惑。。。

2 个回复
SO网友:fuxia

你可以试试什么wp-cron.php 在AJAX处理程序中执行并设置:

ignore_user_abort(true);
但这可能会导致其他问题,例如当API需要一个小时才能响应时。:)

尝试记录所有API响应时间一段时间,看看这是否真的是问题所在。

SO网友:Andrew Bartel

冒着给出明显答案的风险,你可能已经尝试过了。。。假设其他一切都很好,WordPress does cap execution time at 30 seconds (我想)。20秒看起来像30秒很容易是吗?

法典建议添加php_value max_execution_time 60 给你的。htaccess文件和max_execution_time = 60 ; 您也可以尝试添加set_time_limit(x) 在wp配置中或在插件中触发ajax的脚本上。

结束

相关推荐

如何查看我的WordPress.org站点MySQL查询生成的项目?

我的WordPress站点生成hughes MySQL查询。因此,我得到了“建立到数据库的连接时出错”。我使用共享主机。当我在我的主机(cpanel)上检查错误日志时,它显示一些插件产生了巨大的错误。当我问那个插件开发人员时,他提到这应该是你的主题问题,因为那个插件不会生成MySQL查询。那么,如何检查所有生成项目(主题、插件等)的博客MySQL查询?如果这些插件由于我的主题问题而产生错误,我可以在不更改主题的情况下修复它们吗?我不熟悉编码:(。谢谢