WP Cron无法更新Next_Schedule

时间:2020-02-04 作者:FFrewin

我编写了一个插件,它使用WP Cron定期从另一台服务器获取json数据。在我的localhost中,一切都完美无瑕。然而,当我将整个WP站点上传到在线服务器上进行测试时,整个WP Cron生态系统似乎都失败了。

任何wp cron作业都没有运行过,包括我的插件和核心作业,如;wp_privacy_delete_old_export_files"E;。

Cron作业已被调度,如的输出所示_get_cron_array() ... 但是与它们相关的可执行函数都不会运行。

在挖掘和调试之后,我才发现所有这些cron作业都计划在过去的一段时间内作为下一次运行,并且它们的下一次计划时间永远不会更新到将来的时间。

有没有人遇到过类似的问题?可能存在哪些问题?

更新内容,包括评论中的信息:

我跑步“;“手动”;可执行函数和我没有收到任何错误-该函数可以顺利完成任务。

我知道根本没有cron作业在运行,因为我记录错误并希望在调试中看到这些日志。日志我甚至修改了其他cron作业,甚至是核心作业,如;wp\\u privacy\\u delete\\u old\\u export\\u files“;,为了测试它们是否正在运行,我得到了相同的结果。

所有cron作业的所有未来计划时间都设置为过去的一个时间,并且永远不会更新。

完全相同的代码在我的localhost上运行,刷新后,我可以看到计划的更新时间。

最后,访问/wp cron。php在在线服务器上也会失败,同时会导致所有计划的cron作业在本地主机上运行。我想,这是因为在在线服务器上,所有作业都安排在过去的某个时间,将来再也不会发生。

看起来所有这些作业都是在第一次运行时安排好的,而且从未重新安排过。。。

1 个回复
SO网友:Electronic Ink

一些主机(尤其是共享服务器)不允许Cron作业,因为它“据说”会降低服务器的速度。

我会送他们一张票去问。

相关推荐

Wp-cron是同时运行所有调度的任务,还是一个接一个地运行?

我正在开发一个插件,想添加一个cron任务(比如cron\\u task\\u test),但我有一个疑问。如果计划与我的任务(cron\\u task\\u test)同时运行15个任务(可能由多个插件或用户自己安排),wp cron会逐个选择它们吗,即在第一个任务完成后选择另一个任务,或者如果第一个任务耗时超过一分钟?还是会一个接一个地被解雇简而言之,cron\\u锁是如何工作的?如果它一个接一个地执行,那么运行所有任务的主cron线程本身是否会超过服务器的最大执行时间限制(通常为30秒)?如果我的任