From ac07b61fb5eb068808bbdb35e2e5305a129420af Mon Sep 17 00:00:00 2001 From: Robin Hawkes Date: Thu, 17 Nov 2016 14:26:05 +0000 Subject: [PATCH 1/2] Add reject statement to allow workers to fail properly --- src/layer/GeoJSONWorkerLayer.js | 4 ++-- src/util/WorkerPool.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/layer/GeoJSONWorkerLayer.js b/src/layer/GeoJSONWorkerLayer.js index 8ef21c1..1270265 100644 --- a/src/layer/GeoJSONWorkerLayer.js +++ b/src/layer/GeoJSONWorkerLayer.js @@ -150,7 +150,7 @@ class GeoJSONWorkerLayer extends Layer { } else { resolve(); } - }); + }).catch(reject); }); } @@ -775,7 +775,7 @@ class GeoJSONWorkerLayer extends Layer { }); }); }); - }); + }).catch(reject); }); } diff --git a/src/util/WorkerPool.js b/src/util/WorkerPool.js index 600ee0e..a2ea7a2 100644 --- a/src/util/WorkerPool.js +++ b/src/util/WorkerPool.js @@ -98,7 +98,7 @@ class WorkerPool { // Return result in deferred task promise task.deferred.resolve(result); - }); + }).catch(task.deferred.reject); } } From df210badb17173c8e591c9313de8ab4c8118c6d0 Mon Sep 17 00:00:00 2001 From: Robin Hawkes Date: Thu, 17 Nov 2016 14:42:39 +0000 Subject: [PATCH 2/2] Finish processing workers that exist after a failure --- src/util/WorkerPool.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/util/WorkerPool.js b/src/util/WorkerPool.js index a2ea7a2..ff08329 100644 --- a/src/util/WorkerPool.js +++ b/src/util/WorkerPool.js @@ -98,7 +98,12 @@ class WorkerPool { // Return result in deferred task promise task.deferred.resolve(result); - }).catch(task.deferred.reject); + }).catch((err) => { + // Trigger task processing + this.processTasks(); + + task.deferred.reject(err); + }); } }