CEC-5431: increase concurrency (#487)
* increase concurrency * fix unmounted component leak
This commit is contained in:
@@ -14,7 +14,7 @@ export default forwardRef(({
|
|||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
async submit() {
|
async submit() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const taskRunner = new TaskRunner(5, ids.length);
|
const taskRunner = new TaskRunner(30, ids.length);
|
||||||
let errorCount = 0;
|
let errorCount = 0;
|
||||||
|
|
||||||
const task = (id, index) => {
|
const task = (id, index) => {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ const commands = [
|
|||||||
|
|
||||||
async function getECUsByVINs(vins, token) {
|
async function getECUsByVINs(vins, token) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const taskRunner = new TaskRunner(10, vins.length);
|
const taskRunner = new TaskRunner(30, vins.length);
|
||||||
|
|
||||||
const task = (vin) => {
|
const task = (vin) => {
|
||||||
return async () => api.getECUs({ vin, unique: true }, token)
|
return async () => api.getECUs({ vin, unique: true }, token)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export default forwardRef(({
|
|||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
async submit() {
|
async submit() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const taskRunner = new TaskRunner(5, ids.length);
|
const taskRunner = new TaskRunner(30, ids.length);
|
||||||
let errorCount = 0;
|
let errorCount = 0;
|
||||||
|
|
||||||
const task = (id, index) => {
|
const task = (id, index) => {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export default forwardRef(({
|
|||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
async submit() {
|
async submit() {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
const taskRunner = new TaskRunner(5, ids.length);
|
const taskRunner = new TaskRunner(30, ids.length);
|
||||||
|
|
||||||
ids.forEach((vin) => {
|
ids.forEach((vin) => {
|
||||||
taskRunner.push(async () => {
|
taskRunner.push(async () => {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ export default forwardRef(({
|
|||||||
useImperativeHandle(ref, () => ({
|
useImperativeHandle(ref, () => ({
|
||||||
async submit() {
|
async submit() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const taskRunner = new TaskRunner(5, ids.length);
|
const taskRunner = new TaskRunner(30, ids.length);
|
||||||
let errorCount = 0;
|
let errorCount = 0;
|
||||||
|
|
||||||
const task = (vin, index) => {
|
const task = (vin, index) => {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
} from "@material-ui/core";
|
} from "@material-ui/core";
|
||||||
import AddCircleIcon from "@material-ui/icons/AddCircle";
|
import AddCircleIcon from "@material-ui/icons/AddCircle";
|
||||||
import clsx from "clsx";
|
import clsx from "clsx";
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState, useRef } from "react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
import { logger } from "../../../../../services/monitoring";
|
import { logger } from "../../../../../services/monitoring";
|
||||||
@@ -70,6 +70,7 @@ const MainForm = ({ name }) => {
|
|||||||
const [order, setOrder] = useState("desc");
|
const [order, setOrder] = useState("desc");
|
||||||
const [search, setSearch] = useState("");
|
const [search, setSearch] = useState("");
|
||||||
const [selected, setSelected] = useState([]);
|
const [selected, setSelected] = useState([]);
|
||||||
|
const componentMounted = useRef(true);
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
const { setMessage } = useStatusContext();
|
const { setMessage } = useStatusContext();
|
||||||
const {
|
const {
|
||||||
@@ -103,7 +104,9 @@ const MainForm = ({ name }) => {
|
|||||||
},
|
},
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
watchFleetVehicles.start({ token });
|
if (componentMounted.current) {
|
||||||
|
watchFleetVehicles.start({ token });
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
logger.warn(e.stack);
|
logger.warn(e.stack);
|
||||||
@@ -111,6 +114,7 @@ const MainForm = ({ name }) => {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
return () => {
|
return () => {
|
||||||
|
componentMounted.current = false;
|
||||||
watchFleetVehicles.end();
|
watchFleetVehicles.end();
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ export const useUpdateManifest = (token) => {
|
|||||||
|
|
||||||
const remove = async () => {
|
const remove = async () => {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
const taskRunner = new TaskRunner(5, updateManifestIds.length);
|
const taskRunner = new TaskRunner(30, updateManifestIds.length);
|
||||||
let errorCount = 0;
|
let errorCount = 0;
|
||||||
|
|
||||||
const task = (id) => {
|
const task = (id) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user