Skip to content

Commit 1e54ba2

Browse files
committed
Disallow running same task twice
1 parent f6133a2 commit 1e54ba2

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

packages/app/src/sandbox/compile.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -743,15 +743,13 @@ async function compile({
743743
}
744744

745745
const tasks: CompileOptions[] = [];
746-
let runningTask = false;
746+
let runningTask = null;
747747

748748
async function executeTaskIfAvailable() {
749749
if (tasks.length) {
750-
const task = tasks.pop();
751-
752-
runningTask = true;
753-
await compile(task);
754-
runningTask = false;
750+
runningTask = tasks.pop();
751+
await compile(runningTask);
752+
runningTask = null;
755753

756754
executeTaskIfAvailable();
757755
}
@@ -764,6 +762,11 @@ async function executeTaskIfAvailable() {
764762
* latest version.
765763
*/
766764
export default function queueTask(data: CompileOptions) {
765+
// If same task is running, ignore it.
766+
if (runningTask && JSON.stringify(runningTask) === JSON.stringify(data)) {
767+
return;
768+
}
769+
767770
tasks[0] = data;
768771

769772
if (!runningTask) {

0 commit comments

Comments
 (0)