wp_cron를 테스트하는 방법?


28

이것은 바보 같은 질문입니다 ...

나는 매 시간마다 행동을 취할 계획을 세웠다.

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!'; 
}

한 시간을 기다리지 않고 작동하는지 어떻게 테스트 할 수 있습니까? :)

wp_clear_scheduled_hook('my_hourly_events');이 코드 앞에 추가 하고 추가 하려고 시도했지만 wp_cron()함수가 실행되지 않습니다 ...

편집하다:

좋아, trigger_error()내 함수를 추가 하고 아파치 오류 로그를 확인하면 거기에 있습니다 :)

이제 더 혼란스러워합니다.

  • 백그라운드에서 wp-cron을 어떻게 실행할 수 있습니까? 출력이 보이지 않으면 어떻게됩니까?

  • 이것은 객체 컨텍스트에서 작동하지 않는 것 같습니다. 왜?


좋아, wp-cron.php가로 실행되고 있음을 알았습니다 wp_remote_post(). 그 모든 것을 설명합니다 ...
onetrickpony

"객체 컨텍스트" array( &$this, 'my_method_name' )란 콜백이 같다는 것을 의미 합니까? 함수 이름이 데이터베이스에 저장되어 나중에 실행될 수 있기 때문에 실제로 작동하지 않습니다. &$this클래스 이름이 아닌 특정 객체를 참조하며,이 객체는 cron 작업이 실행될 때 다음 요청에 존재하지 않습니다. 정적 클래스 함수가 ​​작동해야합니다.
Jan Fabry

예, 함수를 정적으로 만들어야했습니다. 나는 wp가 원격으로 "cron"이라는 로컬 스크립트를 실행할 것이라고 생각하지 않았다
onetrickpony

답변:


20

내가 가장 좋아하는 플러그인은 Core Control 입니다 .Cron에서 무슨 일이 일어나고 있는지, 어떤 이벤트가 설정되는지, 다음에 언제 시작되는지 등을 표시하는 데 매우 유용한 모듈이 있습니다.

손이 더러워지면 _get_cron_array()cron 이벤트에 대한 내부 저장된 데이터를 반환하는를 참조하십시오 (키의 최상위 레벨은 타임 스탬프입니다).


HTTP 액세스 로거가 모든 요청 또는 WP의 HTTP API로 작성된 요청 만 기록합니까? 이 페이지가 느린 :)를로드하는 플러그인을 만들 요청을 찾는 이유를 위해 중대하다
onetrickpony

@One Trick Pony는 확실하지 않지만 API 만 가정하는 것이 합리적입니다.
Rarst
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.