我正在创建一个动态创建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');
});
由于
答案 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事件将开始。