Обычно оператор close () должен изящно обернуть ресурс соединения, такой как сброс ожидающих данных и освобождение памяти.
При просмотре кода close()
, кажется, делает следующее:
- Изящная очистка текущих вызовов RPC
- Освободить некоторые ресурсы памяти
- В настоящее время, похоже, не влияет на вызовы REST
- Создайте пространство для будущих работ, связанных с облачными задачами
Как лучшая практика, это должно быть сделано. Однако, если ваш PHP-скрипт в значительной степени ориентирован на взаимодействие с облачными задачами, он оказывает ограниченное влияние.
Обход кода
Глядя на клиентский код Cloud Tasks , кажется, что метод close определен в GapicClientTrait .
Оказывается, это утверждение является промежуточным для транспорта:
/**
* Initiates an orderly shutdown in which preexisting calls continue but new
* calls are immediately cancelled.
*
* @experimental
*/
public function close()
{
$this->transport->close();
}
Код для доступных транспортов имеет опции для REST и gRPC.
После REST для HttpUnaryTransportTrait это выглядит как неработоспособность:
public function close()
{
// Nothing to do.
}
Следуя gRPC к Grpc \ BaseStub, мы достигаем реализации клиента gRPC .