将巨大的cron OPTION_VALUE添加到wp_Options表中

时间:2015-09-04 作者:Cookforweb

我最近注意到,在出现性能错误和失败后,单个请求所消耗的内存(前面或后面)迅速增加。经过数小时的实验和研究,我注意到“cron”行的option\\u值记录是7MB!!!!包含一个带有“重新调度”操作循环的巨大json。

这看起来像是一次袭击,准备再次看到吗?如何保护我的站点不受这些cron值的影响?

3 个回复
SO网友:kovshenin

这可能是由于许多不同的原因造成的,也可能是由于cron设置被破坏的结果,其中的操作正在计划中,但从未运行过。

最好的方法是尝试并了解实际计划或重新计划的内容,操作名称是什么?如果你能找到动作名称,你就可以将其精确定位到特定的插件或主题(或核心)。

如果您有可用的WP-CLI,则可以运行:

wp cron event list
虽然有7mb的cron数据,但这可能需要一段时间,所以要有耐心。确定操作名称后,可以通过以下操作将其全部删除:

wp cron event delete <action_name>
如果您没有WP-CLI访问权限,可以尝试直接在数据库(通过phpMyAdmin或MySQL CLI)或数据库导出中检查选项值。sql文件。

我不建议像其他人在这里建议的那样禁用WordPress cron,因为这不会阻止新操作排队,也会破坏整个站点依赖于cron的功能,包括定时发布、更新检查等。

希望这有帮助。

SO网友:vancoder

您可能遇到WordPress 4.3引入的一个bug,涉及术语拆分。

此处提供了一个修补程序插件:https://wordpress.org/plugins/wp33423-hotfix/

SO网友:Arvind Singh

为什么不禁用wp-cron.php 文件只需将此代码粘贴到wp-config.php 禁用cron文件后,没有计划任务工作。

define(\'DISABLE_WP_CRON\', true);