Php WordPress Cron API是否在后台运行?

Php WordPress Cron API是否在后台运行?,php,cron,wordpress,Php,Cron,Wordpress,我正在阅读wp includes中cron.php的代码,而spawn\u cron()似乎是实际执行已注册任务的代码 函数的最后两行: $cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron ); wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filte

我正在阅读wp includes中
cron.php
的代码,而
spawn\u cron()
似乎是实际执行已注册任务的代码

函数的最后两行:

$cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );

wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
它只是打开wp-cron.php,将任务作为查询参数传递

cron.php顶部的API说明:

* Schedules a hook which will be executed once by the WordPress actions core at 
* a time which you specify. The action will fire off when someone visits your
* WordPress site, if the schedule time has passed.`

我的问题是,假设访问者打开站点的一个页面,然后注册的任务由cronapi触发。如果任务很重,需要几分钟才能完成,访问者是否会得到一个直到任务完成才完全加载的页面

[编辑]
为了澄清我的问题,问题是,WP Cron API是否在页面加载完成后运行任务?

Cron作业应该不会影响您的查看器。如果它真的找到了一家新的托管公司

$cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );
wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
通过下面的示例插件,我确认上面的代码(我在问题中也引用了)是实际调用计划任务的代码。它设置0.0.1超时并访问wp-cron.php。这意味着如果有100个任务,则加载所有任务需要1秒。因此,它对页面加载速度有轻微影响。但这似乎是一件不必太担心的事情

<?php
/* Plugin Name: Sample Cron Task */ 

    // I used `heavy` because this code was initially written to test how it affects the server response if a heavy task is registered as a cron job. So forget about the naming.
add_action('admin_menu', 'sample_cron_heavy_task');
function sample_cron_heavy_task() {
    add_options_page(
        'Sample Cron Heavy Task', 
        'Sample Cron Heavy Task', 
        'manage_options',
        'sample_cron_heavy_task', 
        'sample_cron_heavy_task_admin');
}
function sample_cron_heavy_task_admin() {
    ?>
    <div class="wrap">
    <?php
        wp_schedule_single_event(time(), 'my_action_name');
        $cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );
        // executes the registered task immediately 
        wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
        echo get_option('sample_cron_heavy_task');
    ?>
    </div>
    <?php
}

add_action('my_action_name', 'myevent'); 
function myevent() {
    $msg = date('Y m d h:i:s A') . ': the cron task is called.<br />';
    update_option('sample_cron_heavy_task', $msg);
}


只要您的函数设置正确,它们仍应接收创建页面所需的数据。从数据库中检索不应该有停顿。我仍然很难理解你说的话
如果找到新的托管公司
创建页面
,以及从数据库中检索
听起来与问题无关。我遗漏了什么吗?我只是说,这绝不会影响你网站的浏览者。我担心的是,在有人访问其中一个页面后,打开一个隐藏页面会触发任务;那么我怎么知道页面完全加载了呢?我说的是WP-Cron,它的工作原理与普通的linux/unix-Cron作业不同。这就是为什么我在最初的帖子中引用了API的最后两行。访问者是否会得到一个直到任务完成才完全加载的页面?