我正在使用一个功能,将1000多个用户批量上传到数据库中。许多插入必须在不同的表中为每个用户完成
为了避免超时,我将上传csv文件分成200行的块,并将每个块发送到后端。
我的问题是:
如果我的数据有问题,并且没有被中间件捕获,应用程序就会崩溃。例如,如果它在第三个数据块中崩溃,那么前两个数据块中的所有数据都已插入到数据库中。
我需要一个全有或全无的方法。如果应用程序因某种原因崩溃,则不应在数据库中插入任何内容。
是否有一种方法可以保存或累积sequelize事务,直到最后一个区块完成,然后一次提交所有事务??
谢谢你的建议
1条答案
按热度按时间bbuxkriu1#
您可以使用db事务。db事务不会导致超时(但如果您滥用它们,它们可能会导致死锁)
例如,您可以使用以下承诺:;