WordPress Rest API - функция обратного вызова останавливается при закрытом соединении - PullRequest
0 голосов
/ 02 июля 2019

Я использую WordPress Rest API для запуска экземпляра AWS Ec2 и сохранения ip этого экземпляра на хосте, где расположен API

Я регистрирую маршрут следующим образом

add_action( 'rest_api_init', 'test_register_endpoints');
function test_register_endpoints() {
  register_rest_route( 'rcapi/v1', '/livestrem/new/', array(
        'methods'               =>  'GET,POST',
        'callback'              =>  'request_aws_function',
        'permission_callback'   =>  permission_callback_function'
    ) );
}

Код в request_aws_function () довольно длинный, поэтому я не могу опубликовать его здесь. Это то, что я делаю

  • я вызываю API AWS и запускаю экземпляр EC2
  • У меня есть официант EC2 для готовности экземпляра ec2
  • я создаю пользовательский тип записи в локальной базе данных и назначаю мета-EC2-информацию, такую ​​как ip, имя экземпляра и т. Д.
  • возвращает массив с мета-постом из предыдущего поста

Все работает нормально, пока на клиентском сайте вы не вызовете метод API и не решите закрыть браузер или покинуть страницу через несколько секунд.

В этот момент запускается функция request_aws_function (), запускается Aws api, но функция обратного вызова останавливается. Вызов отдыха AWS может занять до 1 минуты (до тех пор, пока экземпляр не будет запущен и запущен) - я установил свой экземпляр на AWS, но после этого никакие другие инструкции не выполняются - точно так же, как код получил die ().

Мой вопрос

Останавливает ли закрытие соединения между клиентом и WP Rest API выполнение функции обратного вызова? Если да, можно ли это предотвратить?

Спасибо

...