我会在wp_config.php
定义您所在的服务器。到目前为止还不错,不是很神奇。
正如您所提到的,棘手的部分是确保cron运行,并且如果它意外地是错误的服务器,则不会中止。尝试以下功能:
function my_cron_callback() {
if ( MY_SERVER_SETUP == "SERVER_A" ) {
do_the_cron_action();
} else {
set_transient( \'do_the_cron_on_server_a\', \'true\' );
}
}
现在,您有了一个临时设置,即cron将在另一台服务器上运行,但不会执行。功能
do_the_cron_action
包含您的脚本。
最后一步是将函数挂接到init
, 检查服务器是否为ServerA以及是否设置了瞬态。
function check_if_a_should_execute() {
if( MY_SERVER_SETUP == "SERVER_A" && get_transient( \'do_the_cron_on_server_a\' == \'true\' ) {
do_the_cron_action();
delete_transient( \'do_the_cron_on_server_a\' );
}
}
add_action( \'init\', \'check_if_a_should_execute\' );
这应该可以奏效。