Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Postgresql可序列化事务生成队列_Node.js_Typescript_Postgresql_Race Condition_Typeorm - Fatal编程技术网

Node.js Postgresql可序列化事务生成队列

Node.js Postgresql可序列化事务生成队列,node.js,typescript,postgresql,race-condition,typeorm,Node.js,Typescript,Postgresql,Race Condition,Typeorm,我正在将typeorm与数据库postgresql一起使用。 特定路线需要在高负载web应用程序上进行交易: import { Router, Request, Response } from 'express'; import { getManager } from 'typeorm'; const router = Router(); router.post('/apply', async (request: Request, response: Response) => {

我正在将
typeorm
与数据库
postgresql
一起使用。
特定路线需要在高负载web应用程序上进行交易:

import { Router, Request, Response } from 'express';
import { getManager } from 'typeorm';

const router = Router();

router.post('/apply', async (request: Request, response: Response) => {
    await getManager().transaction('SERIALIZABLE', async (txManager) => {
        /* Many selects, inserts here */
    });
});
但是,如果同时有两个请求,则一个请求将出错,并显示消息
由于事务之间的读/写依赖关系而无法序列化访问。



如何预防?也许一个接一个地处理每一个请求?但我不知道怎么做。也许还有其他一些处理事务的方法,但我已经阅读了文档,没有找到任何相关的方法。

使用
可序列化的隔离级别,您不会阻止序列化错误,但如果发生此类错误,您将重复该事务