[英]Wordpress cronjob every 5 seconds not working
我已經在我的Wordpress functions.php文件中添加了以下內容,每5秒向輸入的電子郵件地址發送一封郵件,但它無效。 我添加了一些日志來檢查作業是否運行鈎子,但它只是初始化它,就是這樣:
add_filter( 'cron_schedules', 'five_seconds_interval' );
function five_seconds_interval( $schedules ) {
$schedules['five_seconds'] = array(
'interval' => 5,
'display' => esc_html__( 'Alle 5 Sekunden' ),
);
return $schedules;
}
add_action('init', 'schedule_my_cron',10);
function schedule_my_cron(){
error_log("schedule_my_cron()");
wp_schedule_event(time(), 'five_seconds', 'my_job');
}
function my_job() {
error_log("my_job()");
wp_mail('test@localhost.de', 'Cronjob funktioniert!', 'LOL', 'Von IBims');
}
這是我在日志文件中得到的:
[14-Nov-2018 17:31:24 UTC] schedule_my_cron()
我也在配置文件中禁用了Wordpress的正常cronjob:
define('DISABLE_WP_CRON',true);
在此之后,我創建了一個工作正常的unix cronjob。 所以我期待當我每隔5秒運行一次unix cronjob時,我就會將我的郵件發送到該地址。 怎么了?
更新
我可以確認我的自定義計划已成功添加,這是wp get schedules()
輸出的一部分:
[five_seconds] => Array
(
[interval] => 5
[display] => Alle 5 Sekunden
)
根據函數的文檔,您需要對按計划調用的函數使用add_action()
,而不是執行調度的函數。 wp_schedule_event()
的第三個參數是動作掛鈎的名稱,而不是函數名稱。 嘗試這樣的事情:
register_activation_hook(__FILE__, 'schedule_my_cron');
add_action('init', 'schedule_my_cron',10);
function schedule_my_cron(){
error_log("schedule_my_cron()");
wp_schedule_event(time(), 'five_seconds', 'my_five_second_event');
}
add_action('my_five_second_event', 'my_job');
function my_job() {
error_log("my_job()");
wp_mail('test@localhost.de', 'Cronjob funktioniert!', 'LOL', 'Von IBims');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.