mssql我在频繁调用的 Lambda 中使用v6.2.0(在标准负载下始终有约 25 个并发调用)。
我似乎在连接池或其他方面遇到了问题,因为我一直有大量打开的数据库连接,这些连接淹没了我的数据库(RDS 上的 SQL Server),导致 Lambda 在等待查询结果时超时。
我已经阅读了文档、各种类似的问题、Github 问题等,但对这个特定问题没有任何作用。
mssql,我已经尝试了其中几种。值得注意的是,我尝试使用大值和小值指定最大池大小,但得到了相同的结果。pool = pool || await createPool()
'use strict';
/* Dependencies */
const sql = require('mssql');
const fs = require('fs').promises;
const path = require('path');
const AWS = require('aws-sdk');
const GeoJSON = require('geojson');
AWS.config.update({ region: 'us-east-1' });
var iotdata …Run Code Online (Sandbox Code Playgroud) 我最喜欢的 C# 特性之一是空合并运算符,我已经使用了很长时间:
// Simple fallback
var foo = specifiedValue ?? fallbackValue;
// Fetch if not present
foo = foo ?? getAFoo();
// Parameter validation
foo = foo ?? throw new ArgumentNullException(nameof(foo));
// Combination of the two previous examples
foo = foo ?? getAFoo() ?? throw new Exception("Couldn't track down a foo :( ");
Run Code Online (Sandbox Code Playgroud)
我也喜欢新的 C# 8 运算符,它缩短了“如果不存在则获取”用例:
foo = foo ?? getAFoo(); // null-coalescing
foo ??= getAFoo(); // null-coalescing assignment
Run Code Online (Sandbox Code Playgroud)
我曾希望也许我也可以在参数验证用例中使用空合并赋值运算符,但似乎不允许这样做。这就是我想做的:
foo = foo ?? throw …Run Code Online (Sandbox Code Playgroud)