JavaScript로부터의 요청에 응답하기 위해 admin-ajax.php를 사용하고 있습니다.WordPress admin-ajax - 응답이 보내질 때까지 동작 연기하기
내가 원하는 데이터를 가져 왔고 응답을 반환했을 때 일부 데이터를 외부 API로 보내고 사용자에게 이메일을 보내야합니다. 이 두 가지 모두 약간의 시간이 걸립니다.
응답을 다시 사용자와 후 나는 그들이 기본적으로 백그라운드에서 일어날 수 있도록 내가 행동을 설정하기 전에 AJAX를 통해 JSON 응답을 반환 같은 것을 할 수있는 기대했다:
function my_ajax_action() {
//process the $_REQUEST ajax data here
echo json_encode($results);
do_action('request_successful', $results);
wp_die();
}
...하지만 그것은 죽기 전에 (PHP가 비동기 적이기 때문에) 액션을 완료하기 위해 분명히 기다리고 있으며 AJAX 요청은 응답이 제공 될 때까지 완료되지 않습니다.
응답이 완전히 전송 될 때까지 이러한 작업을 연기하는 알려진 방법이 있습니까? 이러한 작업에 첨부 된 두 가지 기능은 응답을 제공 할 필요가 없으며 결과가 사용자의 브라우저에 표시되는 데 걸리는 데 몇 초를 추가하는 것입니다.
저는 곧 cron 작업에 저장할 수있을 것이라고 추측합니다. 그러나 누군가가 이미이 문제를 더 나은 방법으로 해결했다고 생각합니다.
감사 아론