如何在wordpress中调试cron作业

时间:2014-10-04 11:48:33

标签: wordpress cron

我已阅读有关此主题的一些帖子。但不是那么清楚。那就是我再问的原因。

我正在尝试在插件disqus-comment-system中调试cron作业。

$ts = time() + 300;
wp_schedule_single_event($ts, 'dsq_sync_forum');

add_action('dsq_sync_forum', 'dsq_sync_forum');

function dsq_sync_forum($last_comment_id=false, $force=false) {

.........some code

}

我正在使用vim和vdebug。我尝试了很多次,但它没有调试函数dsq_sync_forum。

我用谷歌搜索了这个,但不理解解决方案。

2 个答案:

答案 0 :(得分:0)

问题可能出在WP Cron本身。 WP Cron的操作在定义时并不会完全触发,但只有当有人触发它们时(使用页面视图)。

您可以使用我的Advanced Cron Manager插件查看正在进行的操作。

答案 1 :(得分:0)

浏览网站时,无法调试cron任务,因为它们是由wp_remote_post()函数触发的。 该函数会将http请求发送到wp-cron.php文件,该文件将执行您的cron作业。

如果要轻松调试(xdebug或var_dump / die),可以将disable_wp_cron常量设置为true(1)。这样可以防止WordPress在浏览网站时调用wp-cron.php文件。

然后,您可以手动浏览URL mywebsite.com/wp-cron.php进行调试,并显示所需的任何变量。