使内部REST请求非阻塞?

时间:2020-10-25 作者:Best Dev Tutorials

我正在调用内部端点,以尝试加快任务的速度。

我不需要等待(在该端点等待的)任务完成,就可以继续编写脚本,但它仍在等待完成。我正在使用以下内容:

$argsForRequest = array(
\'agency_code\' => \'1234\',
\'another_param_here\' => $myVar,
\'timeout\'   => 0.01,
\'blocking\'  => false,
\'sslverify\' => false,
);

$request = new WP_REST_Request( \'POST\', \'/my/custom/endpoint\' );
$request->set_query_params( $argsForRequest );
$response = rest_do_request( $request );
你知道我做错了什么吗?

谢谢

1 个回复
SO网友:Tom J Nowell

rest_do_request does not make a HTTP request to the REST API. rest_do_request 直接处理请求对象。WP_REST_Requestrest_do_request 用于处理请求,而不是发出请求。这就是为什么您尝试使其非阻塞失败的原因。

如果要对REST API发出非阻塞请求,必须使用wp_remote_post 到所需的端点。