Вы можете зарегистрировать свой собственный обработчик ошибок в PHP. Например, сброс всех ошибок в файл может помочь вам в этих неясных случаях. Обратите внимание, что ваша функция будет вызвана, независимо от того, какой ваш текущий error_reporting установлен. Очень простой пример:
function dump_error_to_file($errno, $errstr) {
file_put_contents('/tmp/php-errors', date('Y-m-d H:i:s - ') . $errstr, FILE_APPEND);
}
set_error_handler('dump_error_to_file');
DocumentClient не следует использовать для каждого запроса, а вместо этого вы должны использовать его как единичный экземпляр в вашем приложении. Создание клиентского запроса добавит много времени на задержку.
Так что я бы объявил свойство Client как «статическое» и инициализировал его в конструкторе Service. Вы можете вызвать await Client.OpenAsync(
) в методе Connect, чтобы «прогреть» клиента, и в каждом из ваших открытых методов напрямую использовать экземпляр Client для вызова API DocumentDB.
Утилизируйте клиента в методе утилизации Сервиса.
Эти клиенты предназначены для повторного использования, поэтому рекомендуется иметь один статический экземпляр, который вы повторно используете для всех функций. Здесь вы можете найти советы по проблеме производительности:
https://docs.microsoft.com/en-us/azure/cosmos-db/performance-tips#sdk-usage [116 ]
Надеюсь, это поможет!