首页 > 解决方案 > WP Cron 作业正在运行但未执行完整功能

问题描述

所以我正在制作一个插件,它使用 youtube V3 api 从我们的 youtube 频道带来视频并将它们变成我们网站的帖子。

我正在为此使用 WP Cron。基本上每 12 小时它会检查是否有任何新视频,如果有新视频,它会使用 YouTube V3 API 将它们转换为帖子。

一切似乎都工作正常,除了一件事,即当 WP 调用 cron 作业时,完整的功能不会发生。

它应该拉入大约 4 个视频。它只拉一个。

同样由于某种原因,将视频放入页面内部的 iframe 不会显示。

但是,当我使用 Cron Manager 插件“Advanced Cron Manager”手动调用 cron 作业时,一切正常。

我可以确认该功能有效。

我还可以确认,当我告诉 wordpress 运行 cron 作业时它可以工作。

只有当 WP 决定自己运行 cron 作业时,该功能才不起作用。它确实运行。它确实做了一些函数应该做的事情,而不是所有事情。

所以我的问题不是“为什么 youtube api 不起作用”或“为什么我的 cron 作业没有运行”,但是为什么 wp cron 作业在手动调用时会起作用,但在 wp 调用时却不起作用?

标签: phpwordpressapiyoutubecron

解决方案


它不仅是 WP,它可以发生在任何框架中。这更像是一个笼统的问题。这是我建议你做的:

  1. 检查您的错误日志。也许你有内存限制问题。如果是这种情况,请确保将 memory_limit 设置为 256 或 512M 之类的高值。

  2. 将各种自定义日志消息放入您的函数中并将其记录到单独的日志文件中,以便您至少知道它在哪里运行和在哪里停止。

  3. 无论您对 youtube 等外部 api 提出什么请求,都将其放入 try catch 块中以捕获任何异常并记录它们。

希望你能以这种方式调试它,祝你好运!


推荐阅读