Cách gỡ lỗi WordPress Kiếm Cron trực tuyến wp_schedule_event


22

Làm cách nào để gỡ lỗi với WordPress Cron? Tôi nghĩ rằng nó sẽ kích hoạt khi người dùng truy cập trang web của bạn nhưng bất kỳ lỗi nào sẽ không được hiển thị cho họ, vì các công việc được chạy "không đồng bộ". Vì vậy, làm thế nào tôi có thể gỡ lỗi?

tôi sử dụng wp schedule event


1
Đọc tài liệu này: developer.wordpress.org/plugins/cron/
Kẻ

Sử dụng plugin Advanced Cron Manager
Guest

Câu trả lời:


27

Bạn có thể chạy WP cron bằng tay bằng cách gọi: http://example.com/wp-cron.php?doing_wp_cron

Nếu bạn không muốn cron tự động chạy trong khi bạn gỡ lỗi, thì hãy thêm nó vào /wp-config.phptệp của bạn :

define('DISABLE_WP_CRON', true);

Nếu bạn đang ở trong môi trường phát triển và muốn xuất thông tin gỡ lỗi, hãy gọi nó theo cách thủ công như thế sẽ cho bạn thấy đầu ra gỡ lỗi của bạn.

Ngoài ra, bạn có thể sử dụng hàm error_log tích hợp của PHP để ghi nhật ký chuỗi thông báo vào nhật ký lỗi để gỡ lỗi. Bạn cần sử dụng kết hợp với cài đặt WP_DEBUG , như được đề cập bởi Rarst.


Cảm ơn bạn đã gợi ý với các ?doing_crontham số.
rofflox

3
Tôi tin rằng nó nên được ?doing_wp_cronthay vì ?doing_cron.
liviucmg

@liviucmg Vâng, bạn nói đúng. Tôi đã thực hiện các chỉnh sửa.
Simon East

1
?doing_wp_crontham số cần thiết? Xem hướng dẫn thiết lập hướng dẫn sử dụng của EasyCron .
AlecRust

@gabrielk Có phải tham số? doing_cron không? nó có nghĩa là gì?
jedi

6

Bạn có thể sử dụng plugin Cron-View . Ở đó bạn có thể thấy nếu công việc của bạn là a) đã đăng ký và b) thời gian đáo hạn tiếp theo là gì.

Ngoài ra, bạn có thể thêm bộ đếm thời gian biểu thấp hơn vào sự kiện của mình (ví dụ cứ sau 2 phút) và kiểm tra phương pháp của bạn thường xuyên hơn trên hệ thống cục bộ. Sử dụng móc lọc 'cron_schedules' để đăng ký thời gian lịch biểu mới. Ví dụ:

function my_additional_schedules($schedules) {
    // interval in seconds
    $schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes');
    return $schedules;
}
add_filter('cron_schedules', 'my_additional_schedules');


3

Bạn có thể gỡ lỗi thủ công, bằng cách tạo một hành động và thực hiện hành động Cron bên trong. Như thế này:

add_action( 'init', function() {

    if ( ! isset( $_GET['the_cron_test'] ) ) {
        return;
    }

    error_reporting( 1 );

    do_action( 'this_is_cron_event_hook' );

    die();

} );

Và bằng cách truy cập địa chỉ trang web của bạn: http://example.com?the_cron_test

Điều này sẽ cho bạn thấy bất kỳ lỗi nào với tác vụ cron.

Nhưng nó không có ý nghĩa gì khi làm nó bằng tay. Bạn có thể sử dụng plugin Advanced Cron Manager PRO thực hiện điều này cho bạn và cũng lưu nhật ký và các số liệu thống kê khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.