我编写了一个插件,它使用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作业在本地主机上运行。我想,这是因为在在线服务器上,所有作业都安排在过去的某个时间,将来再也不会发生。
看起来所有这些作业都是在第一次运行时安排好的,而且从未重新安排过。。。