【问题标题】:Wordpress Cron Job is not runningWordpress Cron 作业未运行
【发布时间】:2020-03-16 12:08:50
【问题描述】:

我将 Wordpress Cron 作业设置为每 5 分钟运行一次,并执行一个名为 bulk_update() 的函数。当我通过管理员手动运行该功能时,它可以工作。

但是,Cron 作业似乎没有执行该功能。我在函数的开头添加了error_log(print_r("EXECUTION OF BULK_UPDATE"));,以了解 Cron 作业是否成功调用了该函数,但我在日志中没有得到任何信息。

这里是 bulk_update 函数:

function bulk_update() {

    error_log(print_r("LAUNCH OF BULK_UPDATE")); 

    $args = array(
            'post_type' => 'page',
            'date_query' => array(
                array(
                    'column' => 'post_modified_gmt',
                    'before'  => '2019-02-17 23:59:59',
                     ),
                ),
            'posts_per_page' => 20,
             );

    $the_query = new WP_Query( $args );

    if ( $the_query->have_posts() ) {

        echo $the_query->found_posts . "<br />";

        while ( $the_query->have_posts() ) {
            $the_query->the_post();
            $post_id = get_the_ID();
            $slug = get_post_field( 'post_name', $post_id );
            $key =  explode("n-", $slug);
            echo $key[1] . "<br/>";
            update_dico_page($key[1], $post_id);
        }
        /* Restore original Post Data */
        wp_reset_postdata();
    } else {
        echo "No post found.";
    }
}

我还有其他具有类似设置的 Cron 作业,它运行良好。我使用 WP Crontrol 来管理我的 Cron 作业,并且设置似乎正确:

知道什么会阻止这个 cron 作业正常工作吗?

【问题讨论】:

  • 如果代码有效,那么这不是一个编程问题,在这里是题外话。我建议联系这个插件的作者以获得支持。
  • 与插件无关,因为我自己也安排了Cron(没有插件),它不起作用......
  • WP Cron 仅在访问者在您的页面上时运行。它不像一个“真正的”cron。
  • 我的页面上经常有大约 400 名访问者(这是一个 200 万访问者/月的网站)

标签: php wordpress cron


【解决方案1】:

我通过创建服务器 cron 作业解决了这个问题。显然问题出在 Wordpress Cron 系统上。

【讨论】:

    猜你喜欢
    • 2014-11-02
    • 2014-11-26
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    相关资源
    最近更新 更多