我有一个 CakePHP API 服务器,它使用以下代码触发向设备发送推送通知:
$url = 'https://fcm.googleapis.com/fcm/send';
$headers = array(
'Authorization:key = <<Authorization Key>',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$result = curl_exec($ch);
if ($result === false ){
die('Curl failed: '. curl_error($ch));
}
curl_close($ch);
当端点调用服务器并触发上述代码时,由于其执行而存在延迟(上述代码工作正常)。
理想情况下,我希望这段时间被消除,因为代码不会影响响应消息。是否有一种方法可以消除端点请求的响应时间来管理推送通知?
实现队列。将发送 API 调用的任务发送给工作人员,您不必等到它完成。
检查这个插件https://github.com/josegonzalez/php-queuesadilla它将允许您创建任务并将它们排队。或者这个 CakePHP 特定插件https://github.com/dereuromark/cakephp-queue
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句