fix: refs #7906 optimize method fix
gitea/salix/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Carlos Satorres 2024-10-04 07:42:31 +02:00
parent e06c744fb3
commit f53998f320
1 changed files with 23 additions and 8 deletions

View File

@ -45,18 +45,33 @@ module.exports = Self => {
},
},
};
console.time('finds');
const [ticketList, fixingState, worker] = await Promise.all([
models.Ticket.find(filter, myOptions),
models.State.findOne({where: {code: 'FIXING'}}, myOptions),
models.Worker.findOne({where: {id: userId}}, myOptions)
]);
console.timeEnd('finds');
await models.Ticket.rawSql(
'UPDATE ticket SET zoneFk = NULL WHERE zoneFk = ?',
console.time('ticket update');
console.log('ticketList: ', ticketList.length);
// await models.Ticket.rawSql(
// 'UPDATE ticket SET zoneFk = NULL WHERE zoneFk = ? LIMIT 2000',
// [id],
// myOptions
// );
const promises = [];
// OFFSET no li mola a mariadb
for (let i = 0; i <= 30000; i += 2000) {
promises.push(models.Ticket.rawSql(
`UPDATE ticket SET zoneFk = NULL WHERE zoneFk = ? LIMIT 2000 OFFSET ${i};`,
[id],
myOptions
);
));
}
await Promise.all(promises);
console.timeEnd('ticket update');
/*
const updatePromises = ticketList.map(ticket => {
if (ticket.ticketState().alertLevel === 0) {
@ -69,8 +84,8 @@ module.exports = Self => {
});
await Promise.all(updatePromises);
await models.Zone.destroyById(id, myOptions);
if (tx) await tx.commit();
*/
if (tx) await tx.rollback();
return id;
} catch (err) {