创建动态cron WordPress

时间:2017-08-21 12:04:18

标签: php wordpress cron

我正在创建一个动态创建wordpress crons的插件。我遇到的问题是它只适用于最后添加的。我已经把这个代码(静态)测试它是否有效并且它不起作用,只执行一个而另一个不执行。

    add_action('init', function() {

        if( !wp_next_scheduled( 'girls_0' ) ) {
            wp_schedule_event( time(), '1min', 'girls_0' );
        }

    });

    add_action('init', function() {

        if( !wp_next_scheduled( 'animals_1' ) ) {
            wp_schedule_event( time(), '1min', 'animals_1' );
        }

    });

    add_action('girls_0', function() {
        $tipo=1; $busqueda='girls';
        require_once(X_PLUGIN_DIR.'sitios/1.php');
    });

    add_action('animals_1', function() {
        $tipo=1; $busqueda='animals';
        require_once(X_PLUGIN_DIR.'sitios/1.php');
    });

由于

1 个答案:

答案 0 :(得分:0)

如果你看wp-includes/cron.php,你会发现Wordpress cron不会同时运行,并且不会每隔一分钟运行一次。

    // don't run if another process is currently running it or more than once every 60 sec.
    if ( $lock + WP_CRON_LOCK_TIMEOUT > $gmt_time )
    return;

Wordpress cron也是"伪" cron服务,因此仅当有人访问页面时才会触发事件。它可以是真实的用户。它也可以是网络爬虫,但它不确定,cron事件将开始。