Làm thế nào để kiểm tra wp_cron?


28

Đây là một câu hỏi ngu ngốc ...

Tôi đã lên lịch một hành động để chạy mỗi giờ:

if(!wp_next_scheduled('my_hourly_events'))
  wp_schedule_event(time(), 'hourly', 'my_hourly_events');

add_action('my_hourly_events', 'the_function_to_run');

function the_function_to_run(){
   echo 'it works!'; 
}

Làm thế nào tôi có thể kiểm tra nếu điều này hoạt động mà không phải chờ đợi một giờ? :)

Tôi đã thử thêm wp_clear_scheduled_hook('my_hourly_events');trước mã này và thêm wp_cron()sau, nhưng tôi không thấy chức năng của mình đang chạy ...

chỉnh sửa:

ok, tôi đã thêm một trigger_error()chức năng bên trong, kiểm tra nhật ký lỗi apache và nó ở đó :)

Vì vậy, bây giờ tôi thậm chí còn bối rối hơn:

  • Làm thế nào wp-cron có thể chạy trong nền? bởi vì rõ ràng đó là những gì xảy ra nếu tôi không thấy đầu ra ...

  • điều này dường như không hoạt động trong bối cảnh đối tượng; tại sao?


ok Tôi phát hiện ra wp-cron.php đang được thực thi với wp_remote_post(). điều đó giải thích mọi thứ ...
onetrickpony

Theo "bối cảnh đối tượng", bạn có nghĩa là cuộc gọi lại của bạn là như thế array( &$this, 'my_method_name' )nào? Điều đó thực sự sẽ không hoạt động vì tên hàm được lưu trữ trong cơ sở dữ liệu sẽ được thực hiện sau đó. &$thisđề cập đến một đối tượng cụ thể, không phải tên lớp và đối tượng này sẽ không tồn tại ở yêu cầu tiếp theo khi công việc định kỳ được thực thi. Một hàm lớp tĩnh nên hoạt động.
Jan Fabry

vâng, tôi đã phải làm cho chức năng của tôi tĩnh. Tôi không nghĩ wp sẽ điều khiển từ xa một tập lệnh cục bộ là "cron"
onetrickpony

Câu trả lời:


20

Plugin yêu thích của tôi cho điều đó là Core Control có mô-đun rất đẹp để hiển thị những gì đang diễn ra trong cron - sự kiện nào được thiết lập, khi nào chúng sẽ bắn tiếp theo, v.v.

Khi nhận được mức độ bẩn của bàn tay _get_cron_array(), hãy trả về dữ liệu được lưu trữ nội bộ cho các sự kiện cron (cấp độ cao nhất của khóa là dấu thời gian).


Trình ghi nhật ký truy cập HTTP có ghi lại tất cả các yêu cầu hay chỉ những yêu cầu được thực hiện với api HTTP của WP không? Điều này thật tuyệt vời khi tìm kiếm các plugin yêu cầu thực hiện và tại sao trang của bạn tải chậm :)
onetrickpony

@One Trick Pony không chắc chắn, nhưng sẽ hợp lý khi cho rằng đó chỉ là API
Rarst
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.