- Deleted: TNAR, demo-event-log, demo-managed-functions, hello-go, hello-node, k8s, notes-python, pg-list-python, simple-node, simple-python - POSTGRES: removed luceUNDnode.tf (commented-out legacy), stress_log_1.txt, funcs_list.py; disabled stress_destroy_apply.sh (PG lifecycle stress has delete_user bug); added README.md - examples/README.md: updated to reflect current state (sless_service + sless_job)
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
// 2026-03-19
|
|
// stress_js_async.js — делает 3 параллельных запроса к PG через Promise.all.
|
|
// Проверяет nodejs20 runtime под умеренной нагрузкой и async/await.
|
|
//
|
|
// Entrypoint: stress_js_async.run
|
|
|
|
'use strict';
|
|
|
|
const { Client } = require('pg');
|
|
|
|
exports.run = async (event) => {
|
|
const client = new Client({
|
|
host: process.env.PGHOST,
|
|
port: parseInt(process.env.PGPORT || '5432'),
|
|
database: process.env.PGDATABASE,
|
|
user: process.env.PGUSER,
|
|
password: process.env.PGPASSWORD,
|
|
ssl: process.env.PGSSLMODE === 'require' ? { rejectUnauthorized: false } : false,
|
|
});
|
|
await client.connect();
|
|
try {
|
|
const [ver, cnt, max] = await Promise.all([
|
|
client.query('SELECT version() AS v'),
|
|
client.query('SELECT COUNT(*) AS cnt FROM terraform_demo_table'),
|
|
client.query('SELECT MAX(id) AS max_id FROM terraform_demo_table'),
|
|
]);
|
|
return {
|
|
runtime: 'nodejs20',
|
|
version: 'v1',
|
|
pg_version: ver.rows[0].v.split(' ').slice(0, 2).join(' '),
|
|
total_rows: parseInt(cnt.rows[0].cnt, 10),
|
|
max_id: max.rows[0].max_id,
|
|
};
|
|
} finally {
|
|
await client.end();
|
|
}
|
|
};
|